Я написал этот метод (почти аналогичный в другом посте)
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
. Как я могу сделать это программно?