您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 统计图表 > C#-读取ExCEL表格的内容
C#winform开发之Excel操作(二)------读取Excel表格2011-07-1417:28读取Excel方法有多种,这里我主要讲两种方式。方法一:sql语句读取Excel这种方法,对于连接过数据库的人来说,一定不陌生。原理大致为:通过select语句读取Excel表的内容,存放在dataset中。这样,我们就可以很方便操作Excel表格。大致分为以下几步:记得先添加命名空间:usingSystem.Data.OleDb;//Excel表数据操作1.创建连接,引用协议stringstrConn=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=+filePath+;ExtendedProperties='Excel8.0;HDR=False;IMEX=1';//其中参数”filePath“,是安放Excel的位置。例如:E:/1.xls。OleDbConnectionOleConn=newOleDbConnection(strConn);2.打开连接,并执行sql语句,别忘了末尾关闭连接OleConn.Open();Stringsql=SELECT*FROM[Sheet1$];//可是更改Sheet名称,比如sheet2,sheet3等等//这是要执行的sql语句,你应该不陌生吧!OleDbDataAdapterOleDaExcel=newOleDbDataAdapter(sql,OleConn);DataSetOleDsExcle=newDataSet();OleDaExcel.Fill(OleDsExcle,Sheet1);OleConn.Close();如果,还不清楚,不怕。下面,我们通过实例来加深理解。源代码:publicstaticDataTableReadExcel(stringfilePath){try{stringstrConn;strConn=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=+filePath+;ExtendedProperties='Excel8.0;HDR=False;IMEX=1';OleDbConnectionOleConn=newOleDbConnection(strConn);OleConn.Open();Stringsql=SELECT*FROM[Sheet1$];//可是更改Sheet名称,比如sheet2,等等OleDbDataAdapterOleDaExcel=newOleDbDataAdapter(sql,OleConn);DataSetOleDsExcle=newDataSet();OleDaExcel.Fill(OleDsExcle,Sheet1);OleConn.Close();returnOleDsExcle.Tables[Sheet1];}catch(Exceptionerr){MessageBox.Show(数据绑定Excel失败!失败原因:+err.Message,提示信息,MessageBoxButtons.OK,MessageBoxIcon.Information);returnnull;}}以上代码实现了Excel的读取,并把内容存放在dataset中.接着,讲解下如何应用该datatable。方式一:把datatable内容读取到DataGridView中,显示所有Excel内容。1.先添加DataGridView控件,并命名为dataGridView12.添加DataGridView数据绑定语句如下:DataTabledt;//存放Excel表的内容dt=ReadExcel(E://1.xls);//这里的路径,指的是你Excel表格存放的路径dataGridView1.DataSource=dt;就这样,简单的显示,就完成了。方式二:只显示你先要的内容。这个可以通过把DataTable当做数组来操作。1.添加一个label标签,命名为label12.添加语句;label1.Text=dt.Rows[x][y].ToString();//这里的参数x,y,对应的是你Excel表格的单元格内容。注意下,x,y是从0开始取值。最后还有一点要说明,就是读取的内容是从Excel表格的第二行开始。第一行,类似于数据库中的字段名,是不读取的。
本文标题:C#-读取ExCEL表格的内容
链接地址:https://www.777doc.com/doc-2183970 .html