OLEDB与更新excel单元格

我写了这个方法来更新一个excel单元格:

public void update(string fileName, string sheetName) { string connString = connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(fileName) + ";Extended Properties=Excel 12.0"; try { OleDbConnection oledbConn = new OleDbConnection(connString); oledbConn.Open(); OleDbCommand cmd = new OleDbCommand("UPDATE ["+sheetName+"$B5:B5] SET F1=17", oledbConn); cmd.ExecuteNonQuery(); oledbConn.Close(); } catch(Exception ex) { Debug.Write("Error: " + ex.Message); } } 

我这样称呼它:

 update("test.xls", "test"); 

B5单元在“testing”表单中可用,但值不会更新。

我甚至尝试过这个:

 UPDATE ["+sheetName+"$B5:B5] SET F1='17' 

我总是得到这个例外:没有给出一个或多个必需的参数值。

任何想法?

提前致谢。

编辑我注意到你错过了HDR =没有。

 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + ";Extended Properties=""Excel 12.0;HDR=No""" 

编辑testing在C#expression式

或者:

 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=z:\\docs\\myspreadsheet.xls;Extended Properties='Excel 12.0 xml;HDR=No'" 

注意xml

要么

 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=z:\\docs\\myspreadsheet.xls;Extended Properties='Excel 8.0;HDR=No'" 

对于* .xls