需要注意的是http://support.microsoft.com/kb/189897/
即表中字符串会被截断,原因是他只扫描前八行,以决定用多大的存储结构存储表格中的元素
所以解决办法,要么把最长的串放到第一行,要么在注册表中设置扫描行数0,即扫描全表
若要将 TypeGuessRows 值的设置,请按照下列步骤操作:
- 关闭任何正在运行的程序。
- 在开始菜单上单击运行。键入 regedit,然后单击确定。
- 在注册表编辑器中展开下面的项,具体取决于您所运行的 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
- Excel 97
- 选择 TypeGuessRows,然后在编辑菜单上单击修改。
- 在编辑 DWORD 值对话框中单击在基数下的十进制。键入一个 0 到 16 (含) 的数值数据之间的值。单击确定,然后退出注册表编辑器。
注意: 出于性能原因 TypeGuessRows 值设置为零 (0) 不建议如果您的 Excel 表很大。当此值设置为 0 时,Microsoft Excel 将扫描表中,以确定每个列中数据的类型中的所有记录。