无法使用System.Data.OleDb.OleDbConnection打开Excel文件

Iam试图打开一个XLSX文件(以便我可以创build一个数据表)Iam使用下面的代码。

System.Data.OleDb.OleDbConnection oleDbCon; System.Data.OleDb.OleDbDataAdapter oleDbDataAd; oleDbCon = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + filePath + "';Extended Properties=Excel 8.0;"); 

但是当文件path包含扩展名为xlsx的文件时,出现错误“外部表格不是预期的格式”。

上面的代码工作正常时,文件扩展xls。

我必须更改连接string吗?

任何帮助吗?在此先感谢。

将连接string更改为

 public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;"; 

请参阅Excel“外部表格未处于预期的格式”。

 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source=" + Path +";"+"Extended Properties=Excel 8.0;"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); string strExcel = ""; OleDbDataAdapter myCommand = null; DataSet ds = null; strExcel="select * from [sheet1$]"; myCommand = new OleDbDataAdapter(strExcel, strConn); ds = new DataSet(); myCommand.Fill(ds,"table1"); return ds; 

.xlsx具有不同的连接string