读取Excel是数据截断问题

  无论是在SqlServer中导入Excel数据,还是使用OLEDB读取Excel,经常出现数据被截断的问题,产生这种问题的根源与Excel ISAM(Indexed Sequential Access Method,即索引顺序存取方法)驱动程序的限制有关,Excel ISAM 驱动程序通过检查前几行中实际值确定一个 Excel 列的类型,然后选择能够代表其样本中大部分值的数据类型。也即Excel ISAM查找某列前几行(默认情况下是8行),如果前8行的数据没有超过255的单元格,那么导入超过255个字符串的单元格可能会被截断。

  解决办法:

  如果是:Jet引擎.
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

  如果是:ACE引擎.
  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel

  然后找到 TypeGuessRows这个项.默认为8的.修改为0.

posted on 2012-05-20 02:12  soonssa  阅读(3153)  评论(0编辑  收藏  举报