使用oledb更新excel文件的特定单元格

我想用oledb更新excel文件的特定单元格。 说I7电池,出于某种原因总是I1正在更新。 任何人都可以告诉我这个代码有什么问题吗?

OleDbConnection oledbConn = new OleDbConnection(connString); oledbConn.Open(); // I want to set the value of I7 cell to 22, for some reason value is I1 is getting updated :( OleDbCommand cmd = new OleDbCommand("UPDATE [" + sheetName + "$I7:I7] SET F1=22", oledbConn); int result = cmd.ExecuteNonQuery(); Console.WriteLine(result); oledbConn.Close(); 

这可能纯粹是您使用的单元格地址scheme的问题。 试试$I$7:$I$7 intsead。 另外,查询中的F1是什么?

我在Excel 2007上运行了相同的程序,工作顺利。 对于Excel 2013,它不起作用。 看起来像在2013年的Excel中的错误。