OleDbException。 没有给出一个或多个所需参数的值

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\a.xlsx" + ";Extended Properties='Excel 12.0 Xml;HDR=No'"; OleDbConnection conn = new OleDbConnection(connString); OleDbCommand cmd = new OleDbCommand("Update [tablenameeee$] SET A1='15'", conn); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); 

我想访问Excel中的特定单元格,并更改其值。 但我得到了例外

OleDbException。 没有给出一个或多个所需参数的值。解决scheme是什么?

如果您使用HDR = NO,列名是F1,F2 F3等……

 OleDbCommand cmd = new OleDbCommand("Update [tablenameeee$] SET F1='15'", conn); 

但我认为你应该指定一个WHERE子句来分隔受影响的行。
记住,使用OleDb你不应该考虑行/列而是以logging的方式。

另外,如果您确切地知道要更新的行/列,您可以使用

 OleDbCommand cmd = new OleDbCommand("Update [tablenameeee$A1:A1] SET F1='15'", conn); 

也许你需要一个where子句

 Update [tablenameeee$] set [F1] = 15 where [F2] = 3 

或者如果你想访问一个特定的单元格,并且你知道它是哪个单元格,那么Steve的解决scheme就会像你的手套一样适合你。