在adp.Fill中抛出OleDbException,说“找不到可安装的ISAM”。

string fileName = "e:\\investigation\\report.xlsx"; string SHEETNAME_HERE = "Sheet1"; string connectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=YES\";", fileName); OleDbConnection con = new OleDbConnection(connectionString); StringBuilder stbQuery = new StringBuilder(); stbQuery.Append("SELECT * FROM [" + SHEETNAME_HERE + "]"); OleDbDataAdapter adp = new OleDbDataAdapter(stbQuery.ToString(), con); DataSet dsXLS = new DataSet(); adp.Fill(dsXLS); 

我正在使用Windows 64位和Office 2010(32位)无法find可安装的ISAM。

您需要validation正确的DLL安装。 IE Msexcl40.dll

看到(忽略它说访问2k和按照解决步骤) http://support.microsoft.com/kb/209805