利用VBA合并多个Excel表格时因部分手机号码在合并时丢失,检查发现手机号码列的数据类型是文本与数值混合。通过上网查询的参考文档:
一、Excel数字、文本混合列导入SQL Server出现的问题&解决办法
二、SQL导入Excel数据时,数字中混有字符将导致数据丢失的解决办法
我的解决方法是Extended Properties使用“IMEX=1”参数,同时修改注册表解除SQL读取前8行确定数据类型的限制,修改注册表如下两项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel]
"TypeGuessRows"=dword:00000000
其中16.0因office版本不同而不同
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Jet\4.0\Engines\Excel]
"TypeGuessRows"=dword:00000000