Excel数据被截断为 255 个字符

数据被截断为 255 个字符与 Excel ODBC 驱动程序


症状

检索时使用 Microsoft Excel 97 ODBC 驱动程序的外部数据,具有超过 255 个字符的字段可能被截断为 255 个字符。

原因

您的数据可能被截断为 255 个字符,如果被截断的字段的前 8 个记录包含 255 个或更少的字符。 Microsoft Excel ODBC 驱动程序默认情况下,扫描的前 8 行要确定的每个列中的数据类型的数据。

即使您可以更改 ODBC Microsoft Excel 设置对话框中的行扫描值高于 8 (但不是高于 16) 成此值是未使用由 Excel。 Excel ODBC 驱动程序使用以下注册表项之一的 TypeGuessRows DWORD 值来确定多少要扫描的数据中的行:
  • Excel 97
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel
  • Excel 2000 及更高版本
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

解决方案

若要更改 Excel ODBC 驱动程序扫描硬盘以确定哪种类型的数据必须在表中的行数,更改 TypeGuessRows DWORD 值的设置。

注: 以下步骤仅在当源 Excel 文件以 Microsoft Excel 工作簿文件格式保存工作。 如果在 Microsoft Excel 97 和 5.0/95 工作簿文件格式保存,则数据将始终被截断为 255 个字符。


若要更改 TypeGuessRows 值的设置,请按照下列步骤:
  1. 关闭任何正在运行的程序。
  2. 在开始菜单上单击运行。键入regedit ,然后单击确定。
  3. 在注册表编辑器中,展开以下项取决于您所运行的 Excel 版本:
    • Excel 97
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel
    • Excel 2000 及更高版本
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
  4. 选择 TypeGuessRows,然后在编辑菜单上单击修改。
  5. 在编辑 DWORD 值对话框中,单击在基数下的十进制。键入一个介于 0 和 16,含) 之间的数值数据。单击确定,然后退出注册表编辑器。
注意: 出于性能原因,将 TypeGuessRows 值设置为零 (0) 不建议如果 Excel 表格很大。 当此值设置为零时,Microsoft Excel 将扫描表中,以确定每个列中的数据类型中的所有记录。


另注:

改注册表

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

如果是:ACE引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel
然后找到 TypeGuessRows这个项.默认为8的.修改为0.


也可把最长的串放到第一行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值