我写了这个方法(在其他帖子中几乎相似)
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;HDR=NO'";
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");
到目前为止,它运行正常,因为当我打开test.xls文件时,B5
会更新为17
。但是,如果有一个单元格:B1
依赖于B5
:B1=B5*5
,那么B1
将不会自动更新。我必须手动打开Excel文件并将其保存并发出警告,以便更新B1
。我该如何以编程方式完成?