热点资讯

你的位置:软件定制开发费用 > 软件开发公司 > 软件开发公司 C# 操作Excel文献之OleDb花式

软件开发公司 C# 操作Excel文献之OleDb花式


发布日期:2024-08-09 06:42    点击次数:120


关于Excel文献软件开发公司,念念必宇宙也王人知谈这个的紧迫性,非论是作念哪种言语的拓荒,王人少不了对Excel文献的操作;

app开发

后头会用三种花式用来读取Excel,用来得志不同的表情需求;

图片

第一种花式即是本文所要讲的OleDb的花式,此花式相比肤浅,何况也不需要援用其他的第三方DLL,读取速率也还不错,然而关于一些其他的细节操作,可能需要读取到数据之后再径直对数据源进行优化;

OleDb聚合花式,使用ADO.NET怒放来取得Excel的数据源;

这里也再肤浅先容下说合字符串中各个字段的真义:

 string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
Provider是用来提供措施聚合到Excel;Data Source是要读取的Excel文献;Extended Properties 是建立 Excel 的属性;HDR用来疏导第一转是否为表头;IMEX暗意对文献操作的各式模式(0:写模式,1:读模式)

已毕功能:

使用Oledb将Excel文献中的数据浮现到dataGridView使用Sql语句添加数据到Excel

拓荒环境:

 拓荒器用:Visual Studio 2013.NET Framework版块:4.5

已毕代码:

private void GetExcel(){    //实例化一个datatable用来存储数据    DataTable dt = new DataTable();    //指定excel方位旅途    string excelPath = "d:\\1.xlsx";    //Offic2007以上聚合字符串    string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";    //Offic2007以下聚合字符串    if (excelPath.ToLower().EndsWith(".xls"))    {        connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";    }    OleDbConnection OleConn = new OleDbConnection(connStr);    OleConn.Open();    //复返excel文献的结构信息    DataTable dtSheet = OleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);    //取第一个sheet页的数据    string sql = string.Format("SELECT * FROM [{0}]", dtSheet.Rows[0]["TABLE_NAME"]);    OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);    OleDaExcel.Fill(dt);    //展示到页面    dataGridView1.DataSource = dt;    //关闭说合    OleConn.Close();}

 到这里,读取的代码就完成了,这技巧确定有一又友在念念,既然不错用ADO.NET去作念查询,那是否不错去作念更新大要插入呢?成果虽然是不错的了,软件开发公司按照咱们上头所先容的,需要先将IMEX的值建立为0,即可写模式,如下:

1. 蔚山现代成立于1983年,曾4次夺得韩K冠军,2次加冕亚冠冠军,4次闯进韩国足协杯决赛并1次夺冠,5次夺得韩国联赛杯。

“(球童)汤米-兰布(Tommy Lamb)在那里背过三届英国公开赛的包。他正与我聊这件事,”卢卡斯-格罗乌尔说,“他提到我也许需要开球铁杆。”

string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=0\"";

然后就不错跟操作数据库相同径直写Insert语句了,部分代码如下:

string sql = string.Format("insert into [{0}] values ('赵六','女','23')", dtSheet.Rows[0]["TABLE_NAME"]);OleDbCommand cmd = new OleDbCommand(sql, OleConn);cmd.ExecuteNonQuery();

由简入繁,拿来即用

后续精彩软件开发公司,抓续柔和

本站仅提供存储管事,扫数本色均由用户发布,如发现存害或侵权本色,请点击举报。