《C# 读取ExCEL表格的内容.pdf》由会员分享,可在线阅读,更多相关《C# 读取ExCEL表格的内容.pdf(3页珍藏版)》请在金锄头文库上搜索。
1、C# winform 开发之 Excel 操作(二)-读取 Excel 表格 2011-07-14 17:28 读取 Excel 方法有多种,这里我主要讲两种方式。 方法一:sql 语句读取 Excel 这种方法,对于连接过数据库的人来说,一定不陌生。 原理大致为:通过 select 语句读取 Excel 表的内容,存放在 dataset 中。这样, 我们就可以很方便操作 Excel 表格。 大致分为以下几步: 记得先添加命名空间: using System.Data.OleDb;/Excel 表数据操作 1.创建连接,引用协议 string strConn = Provider=Micros
2、oft.Jet.OLEDB.4.0;Data Source= + filePath + ;Extended Properties=Excel 8.0;HDR=False;IMEX=1; /其中 参数”filePath“,是安放 Excel 的位置。例如:E:/1.xls。 OleDbConnection OleConn = new OleDbConnection(strConn); 2.打开连接,并执行 sql 语句,别忘了末尾关闭连接 OleConn.Open(); String sql = SELECT * FROMSheet1$;/可是更改 Sheet 名称,比如 sheet2,shee
3、t3 等等 /这是要执行的 sql 语句,你应该不陌生吧! OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn); DataSet OleDsExcle = new DataSet(); OleDaExcel.Fill(OleDsExcle, Sheet1); OleConn.Close(); 如果,还不清楚,不怕。下面,我们通过实例来加深理解。 源代码: public static DataTable ReadExcel(string filePath) try string strConn; strConn = P
4、rovider=Microsoft.Jet.OLEDB.4.0;Data Source= + filePath + ;Extended Properties=Excel 8.0;HDR=False;IMEX=1; OleDbConnection OleConn = new OleDbConnection(strConn); OleConn.Open(); String sql = SELECT * FROMSheet1$;/可是更改 Sheet 名称,比如 sheet2,等等 OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, Ole
5、Conn); DataSet OleDsExcle = new DataSet(); OleDaExcel.Fill(OleDsExcle, Sheet1); OleConn.Close(); return OleDsExcle.TablesSheet1; catch (Exception err) MessageBox.Show(数据绑定 Excel 失败!失 败原因: + err.Message, 提示信息, MessageBoxButtons.OK, MessageBoxIcon.Information); return null; 以上代码实现了 Excel 的读取,并把内容存放在 d
6、ataset 中. 接着,讲解下如何 应用该 datatable。 方式一:把 datatable 内容读取到 DataGridView 中,显示所有 Excel 内容。 1.先添加 DataGridView 控件,并命名为 dataGridView1 2.添加 DataGridView 数据绑定语句如下: DataTable dt;/存放 Excel 表的内容 dt=ReadExcel(E:/1.xls);/这里的路径, 指的是你 Excel 表格存放的路径 dataGridView1.DataSource = dt; 就这样,简单的显示,就完成了。 方式二:只显示你先要的内容。这个可以通过把 DataTable 当做数组来操作。 1.添加一个 label 标签,命名为 label1 2.添加语句; label1.Text = dt.Rowsxy.ToString(); /这里的参数 x,y,对应的是你 Excel 表格的单元格内容。注意下,x,y 是从 0 开始取值。 最后还有一点要说明,就是读取的内容是从 Excel 表格的第二行开始。第一行, 类似于数据库中的字段名,是不读取的。