OLEDB 连接 Excel 丢失数据问题

在工作发现用OLEDB去连接Excel时会发现有些行的栏位会丢失尾部的数据。

上网查找,发现原因是因为OLEDB默认会以前8行的数据为基础判断,所以如果前面的数据长度不够长,会引起后面的数据会丢失。

解决方法:现在只能以修改注册表的方法解决。

 

【64位系统】

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel

 

【32位系统】

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

 

将键值TypeGuessRows 修改为 0;

0是自动识别最大的行数以判断值的标准。

如果设置其它数值就是以这个数值的行数为标准,例如设置为1000,就是前1000行为标准。但是设置的值大了,会影响Excel的效能。所以建议为0。

posted on 2014-07-22 11:33  BadTree  阅读(209)  评论(0编辑  收藏  举报