我已经阅读了十几篇帖子,但我无法解决这个问题。 我正在导入地址电子表格。邮政编码列包含5个数字拉链,9个数字拉链和5-4个拉链(5个数字,短划线和4个数字)的混合。 (对不起,我受到用户的怜悯,这不是我可以控制的。)
但无论我做什么,我都无法通过OLEDB进行全部导入。 5-4区域始终导入为空。
在HKEY_LOCAL_MACHINE \ SOFTWARE [Wow6432Node]中Microsoft \ Jet \ 4.0 \ Engines \
ExcelImportMixedTypes=Text
TypeGuessRows=0
我尝试过32位模式和64位模式。 输入的电子表格是.XLS格式(对不起,我受到用户的支配,我不能强迫他们升级)。
这是我的连接字符串。
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strServerFileName + ";Mode=Read;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1
如果有帮助,我很乐意发布电子表格。
根据我的经验,OLEDB非常不可靠。有没有其他方法可以导入可靠工作的Excel工作表?
答案 0 :(得分:4)
我也无法在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
希望这有助于......
答案 1 :(得分:2)
您发布的连接字符串是.xlsx文件而不是.xls文件。请尝试改编this version:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;
Extended Properties="Excel 8.0;HDR=YES;IMEX=1";