excel - Microsoft ACE OLEDB 提供程序抛出找不到可安装的 ISAM 异常

标签 excel oledb ms-jet-ace

我正在尝试使用 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/

相关文章:

.net - MS Access (MDB) 并发

mysql - 导入数据到mysql

Excel 列自动填充增加两步而不是一步

sql-server - 尝试在 SSIS 中导入 Excel 文件时出现 "External table is not in the expected format."错误

c++ - SQL Server CE 删除性能

c# - Excel 电子表格的自定义 LINQ 提供程序?

c# - 在 epplus 中标记图例

excel - 使用 VBA 使用 Excel 获取垂直合并单元格的开始范围和结束范围

c# - 使用 ADO.NET 创建新数据库 (.mdb)

C# Issue : What is the simplest way for me to load a . MDB 文件,对其进行更改,并将更改保存回原始文件?