首页 > 技术文章 > c#读取excel中的数据(winform)

Freedom0221 2019-09-06 13:20 原文

 

1、打开选择文件对话框

复制代码
1             string path = "";
2             System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
3             fd.Title = "选择文件";//选择框名称        
4             fd.Filter = "xls files (*.xls)|*.xls";//选择文件的类型为Xls表格          
5             if (fd.ShowDialog() == DialogResult.OK)//当点击确定               
6             {
7                 path = fd.FileName.Trim();//文件路径
8                 path = path.Replace("\\", "/");
9             }
复制代码

2、连接所选文件并获取数据存放在DataSet中。

复制代码
1    string mystring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='";
2    mystring += path.ToString();
3    mystring += "';User ID=admin;Password=;Extended properties='Excel 8.0;IMEX=1;HDR=NO;'";
4    OleDbConnection cnnxls = new OleDbConnection(mystring);
5    OleDbDataAdapter myDa = new OleDbDataAdapter("Select * from [Sheet1$]", cnnxls);
6    DataSet myDs = new DataSet();
7    myDa.Fill(myDs);//数据存放在myDs中了
复制代码

3、需要使用的时候从dataset。

    例如得到excel中第i行第0列的数据的语句为:myDs.Tables[0].Rows[i].ItemArray[0].ToString()  注意都是从0开始的。

4、加入上边的读取不了EXCEL文件需要,换格式和安装驱动如果找不到可以联系我!961823316 打包发你,就可以读取数据各种操作了!

 

 

   //string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + FileFullPath + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; //此连接只能操作Excel2007之前(.xls)文件
           string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" +"data source=" + FileFullPath + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'";//此连接可以操作.xls与.xlsx文件

推荐阅读