IMEX = 1和TypeGuessRows = 0不适用于ZipCode

我已经阅读了十几篇文章,但我无法得到这个工作。 我正在导入地址电子表格。 邮政编码列包含5个数字的拉链,9个数字的拉链和5-4个拉链(5个数字,短划线和4个数字)的混合。 (抱歉,我受到用户的摆布,这不是我可以控制的东西)。

但不pipe我做什么,我都无法让他们全部通过OLEDB导入。 5-4区域始终导入为空。

在HKEY_LOCAL_MACHINE \ SOFTWARE [Wow6432Node] Microsoft \ Jet \ 4.0 \ Engines \

ExcelImportMixedTypes=Text TypeGuessRows=0 

我已经尝试了32位模式和64位模式。 input电子表格是.XLS格式(对不起,我受到用户的摆布,我不能强迫他们升级)。

这是我的连接string。

 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strServerFileName + ";Mode=Read;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1 

如果有帮助,我会很乐意发布电子表格。

OLEDB从我的经验是极端不可靠的。 是否有另一种导入可靠工作的Excel工作表?

我也遇到了麻烦得到这个工作在Access工作簿中的链接表指向Excel工作簿。 但是,我确实让它在VBScript中工作。 我想你需要使用这个键,而不是使用ACE:

 HKLM\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows 

这指向相同的键(也改变一个和其他的变化):

 HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows 

希望这有助于…

您发布的连接string是.xlsx文件,而不是.xls文件。 尝试改编此版本 :

 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls; Extended Properties="Excel 8.0;HDR=YES;IMEX=1";