在此之前,每个人都将此问题视为重复,我应该说我已经查看了其他问题,并且没有运气就尝试了答案。
这是我正在使用的连接字符串
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会自动将其作为超链接。这就是问题。如果我从文本中删除超链接,转换工作正常。如果文件包含超链接,在连接时我是否需要做些什么?
答案 0 :(得分: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密码=管理员“;
对于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密码=管理员“;