C#读取Excel遇到没法读取的解决方法:
1.在导入数据链接字符串中,将IMEX=1加入,“Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Data.xls";Extended Properties="Excel 8.0;HDR=Yes;IMEX=1; ”,这样就能够。
C#读取Excel须要注意的:
IMEX=1:混合模式
HDR=Yes; 是否让第一行做为列头
二者必须一块儿使用。
本觉得这样就OK了。
但在实际使用过程当中,这样设置仍是不行,查阅了很多资料才发现,原来还有一个注册表里的信息须要修改,
这样带能让excel再也不使用前8行的内容来肯定该列的类型。
C#读取Excel之注册表修改内容以下:
在HKLM\Software\Microsoft\Jet\4.0\Engines\Excel有一个TypeGuessRows值,预设是8,表示会先读取前8列来决定每个栏位的型态,因此若是前8列的资料都是数字,到了第9列之后出现的文字资料都会变成null,因此若是要解决这个问题,只要把TypeGuessRows机码值改为0,就能够解这个问题了!ide