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

时间:2010-12-01 07:18:26

标签: c# .net excel oledb

我试图打开一个XLSX文件(这样我就可以创建一个数据表) 我使用下面的代码。

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;");

但是当文件路径包含扩展名为xlsx的文件时,我收到错误 “外部表格不符合预期格式。”

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

我是否必须更改连接字符串?

有任何帮助吗?先谢谢。

4 个答案:

答案 0 :(得分:4)

将连接字符串更改为

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

答案 1 :(得分:2)

答案 2 :(得分:2)

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;

答案 3 :(得分:1)

.xlsx有不同的connectionstrings