找不到可安装的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;