c#.net使用oledb读取excel

来源:互联网 发布:1万淘宝买家数据购买 编辑:程序博客网 时间:2024/04/29 14:24

1 使用的命名空间为:using System.Data.OleDb;

2 连接数据库的字符串为:string myConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d://目录.xls;Extended Properties=/"Excel 8.0;HDR=No;IMEX=1/"";      //*.xsl可以认为是数据库了,HDR表示是否隐藏excel的第一行(因为第一行一般表示字段名称),IMEX表示是否把所有字段当做文本来处理。

3 OleDbConnection myConnection = new OleDbConnection(myConn);

4 string mySQLstr = "SELECT f1,f2,f5 FROM [Sheet1$]";       //[Sheet1$]就是表格了,选取第1,2,5列,用Fn表示第n列

5 OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySQLstr, myConnection);

6 DataSet myDS = new DataSet();

7 myDataAdapter.Fill(myDS, "[Sheet1$]");          //原理都跟读取sql是一样O(∩_∩)O

 

8 DataTable dt = myConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);       //把相关信息记录到datatable中
   string tbname = dt.Rows[0][2].ToString().Trim();              //读取表名信息

 

PS:由于excel单元格的默认格式为varchar(255),因此想到读出255个以上的字符时,需要修改注册表

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Jet/4.0/Engines/Excel]
"TypeGuessRows"="0"
表示从前多少行内判断该单元格内数据的类型

原创粉丝点击