2010-12-01 136 views
0

Iam嘗試使用以下代碼打開XLSX文件(以便我可以創建數據表) Iam。無法使用System.Data.OleDb.OleDbConnection打開Excel文件

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

改變了連接字符串

public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" 
    + path + ";Extended Properties=Excel 12.0;"; 
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;