C#对EXCEL的读写操作中链接字符串的讲解(转)

来源:互联网 发布:淘宝靓号 编辑:程序博客网 时间:2024/06/04 20:03

 

此文转自http://space.itpub.net/12639172/viewspace-526836,在此谢谢作者的注解

 

此注解解决了在用oeldb导入excel数据时,列中数据类型不一致导致为空的现象。

 

 

string leconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e://WebCHat//excel//test.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=1' ";

 //  HDR=NO 即无字段
 //   HDR=yes 即有字段,一般默认excel表中第1行的列标题为字段名,如姓名、年龄等

//如果您在连接字符串中指定 HDR=NO,Jet OLE DB 提供程序将自动为您命名字段(F1 表示第一个字段,F2 表示第二个字段,依此类推);
 // IMEX 表示是否强制转换为文本
 //   Excel 驱动程序读取指定源中一定数量的行(默认情况下为 8 行)以推测每列的数据类型。
 //   如果推测出列可能包含混合数据类型(尤其是混合了文本数据的数值数据时),
 //   驱动程序将决定采用占多数的数据类型,并对包含其他类型数据的单元返回空值。
 //   (如果各种数据类型的数量相当,则采用数值类型。)
 //   Excel 工作表中大部分单元格格式设置选项不会影响此数据类型判断。
 //   可以通过指定导入模式来修改 Excel 驱动程序的此行为。
//    若要指定导入模式,请在“属性”窗口中将 IMEX=1 添加到 
//    连接
管理器的连接字符串内的扩展属性值中。