【问题标题】:IMEX=1 and TypeGuessRows=0 is not working for ZipCodeIMEX=1 和 TypeGuessRows=0 不适用于 ZipCode
【发布时间】:2014-08-12 11:09:08
【问题描述】:

我已经阅读了数十篇关于此的帖子,但我无法让它发挥作用。 我正在导入地址电子表格。邮政编码列包含 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 工作表?

【问题讨论】:

    标签: excel import


    【解决方案1】:

    您发布的连接字符串适用于 .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";
    

    【讨论】:

    • 没有区别。
    • 您能否将邮政编码为 5-4 的行设为 Excel 工作表中的第一行数据,看看是否有帮助?如果 Excel 仍在猜测数据类型,那么以 5-4 邮政编码开头的列应该被视为文本
    【解决方案2】:

    我也无法让它在指向 Excel 工作簿的 Access 链接表中工作。但是,我确实让它在 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
    

    希望对您有所帮助...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-22
      • 2022-06-14
      • 1970-01-01
      • 2023-03-31
      • 2013-03-15
      • 2021-02-28
      • 1970-01-01
      • 2016-05-19
      相关资源
      最近更新 更多