我正在尝试使用 64 位进程读取 Excel 电子表格。因此我使用 Micorosft Access Database Engine 2010 的 64 位版本.
以下代码
var cs = @"Provider=Microsoft.ACE.OLEDB.12.0;"
+ @"Data Source=C:\test.xls;"
+ @"Extended Properties=""Excel 14.0;""");
con = new OleDbConnection(cs);
con.Open();
抛出异常:
找不到可安装的 ISAM
使用谷歌我发现了很多关于这个异常的问题。但他们指的是 JET,似乎不适用于我的问题。
有什么建议吗?
最佳答案
指向“This Article ”的链接是正确的,但是将单引号更改为双引号。我正在使用 OpenFileDialog 来获取任何 Excel 文件。 (我使用Excel 2013进行测试)
=> 帖子中的原始格式 <=
//较新版本,任何 xls 文件
“提供商=Microsoft.ACE.OLEDB.12.0;数据源='C:\AlmostAnyExcelVersionFileRunningUnder64BitOS.xls';扩展属性='Excel 12.0;HDR=NO;IMEX=1;';”
=> 更正格式 <=
XLConnection =“Provider=Microsoft.ACE.OLEDB.12.0;数据源=”&Chr(34)&ExceilFileDialog.FileName&Chr(34)&“;扩展属性=”&Chr(34)&“Excel 12.0;HDR=否;IMEX=1;"& Chr(34) & ";"
关于excel - Microsoft ACE OLEDB 提供程序抛出找不到可安装的 ISAM 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3531458/