如何使用ADO.NET读取.XLSX(Excel 2007)文件?我发现"找不到可安装的ISAM" - 错误

use*_*312 5 oledb ado.net excel-2007 openxml c#-2.0

我需要工作.net 2.0.所以我不能使用OpenXML.

这是我的源代码,我已经安装好了AccessDatabaseEngine.exe.

但仍然得到例外:

"找不到可安装的ISAM".

我也试过"Extended Properties=Excel 8.0"连接字符串.

static void Main(string[] args)
{
    DataSet dataSet = new DataSet();

    OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|Data Directory|\HSC.xlsx;Extended Properties=Excel 12.0;HDR=YES;");           
    OleDbDataAdapter dataAdapter= new OleDbDataAdapter("select * from [Sheet1$]", connection);

    dataAdapter.Fill(dataSet);
}
Run Code Online (Sandbox Code Playgroud)

Fio*_*ala 9

据Carl Prothman说,应该是

 Extended Properties="Excel 12.0 Xml;
Run Code Online (Sandbox Code Playgroud)

- http://www.connectionstrings.com/excel-2007

更详细:

 OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Docs\\Book2.xlsx;Extended Properties='Excel 12.0 xml;HDR=YES;'");           
Run Code Online (Sandbox Code Playgroud)

请注意单引号.