找不到可安装的ISAM
我有以下代码:
string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\db\suc.xls; Extended Properties=""Excel 12.0;HDR=YES;"""; // Create Connection to Excel Workbook using (OleDbConnection connection = new OleDbConnection(excelConnectionString)) { OleDbCommand command = new OleDbCommand ("Select * FROM [Sheet1$]", connection); connection.Open();
我得到以下错误:
找不到可安装的ISAM。
在connection.Open()
。 有任何想法吗 ?
没有64位版本的Jet OLEDB驱动程序,所以如果你在64位操作系统上运行这个版本,你可能需要在你的.NET应用程序中定位x86
,而不是Any CPU
:
我有同样的错误,但没有上述build议工作。 在我的情况下,我只需要将连接string更改为:
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties='Excel 12.0;IMEX=1;'";
请注意“扩展属性”属性(“Excel 12.0; IMEX = 1;”)的单引号。 一旦我添加这些单引号错误消失!
我得到这个问题试图打开一个更近的供应商的xls文件。 我通过改变我的扩展属性解决了这个问题
Extended Properties="Excel 11.0;"
至
Extended Properties="Excel 8.0;"
我猜Excel 11需要一个xlsx样式文件。
使用Extended properties="\excel 8.0;