【问题标题】:Excel 2007 OLEDB connection: error when file contains hyperlinkExcel 2007 OLEDB 连接:文件包含超链接时出错
【发布时间】:2010-08-19 19:55:00
【问题描述】:

在这里的每个人都因为重复而关闭这个问题之前,我应该说我已经查看了其他问题,并尝试了没有运气的答案。

这是我正在使用的连接字符串

strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePathBox.Text + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"";

我搜索了有关 2007 年连接字符串的高低搜索,并尝试了我见过的每一个连接字符串以及其中的许多组合。但不管我得到一个例外说External table is not in the expected format

我已安装 Excel 2007,并尝试单独安装正确的驱动程序。

编辑

好吧,这很奇怪:它只发生在我要转换的文件上。我制作了一个新的 xlsx 文件,它运行良好。恰好是这个特定的文件。

编辑 2

我尝试转换的文件中包含电子邮件地址。输入电子邮件地址后,Excel 会自动将其设为超链接。这就是问题。如果我从文本中删除超链接,则转换工作正常。如果文件包含超链接,我在连接时有什么特别需要做的吗?

【问题讨论】:

    标签: c# excel-2007 oledb


    【解决方案1】:

    这是一个适用于 XLSX 文件的文件:

    strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dataSource + ";Extended Properties=\"EXCEL 12.0 XML;HDR=YES;IMEX=1\";Persist Security Info=True;Jet OLEDB:Database密码=admin";

    对于 xlsm 我使用:

    strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dataSource + ";Extended Properties=\"EXCEL 12.0 Macro;HDR=YES;IMEX=1\";Persist Security Info=True;Jet OLEDB:Database密码=admin";

    【讨论】:

    • 我的没有密码,所以我可以把最后一段去掉吗?
    • 听起来连接字符串不是您的编辑问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多