3
我写此方法更新一个excel细胞:OLEDB与更新的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细胞是在“测试”片可用的,但该值永远不会更新。
我甚至尝试这一个:
UPDATE ["+sheetName+"$B5:B5] SET F1='17'
,我总是有这样的例外:没有为一个或多个必需的参数给定值。
有什么想法?
在此先感谢。
仍然是一样的错误。顺便说一句,默认ReadOnly = False – olidev 2012-02-06 13:29:53
你是对的只读,它将工作没有,但HDR =没有必要。 – Fionnuala 2012-02-06 13:36:12
添加HDR =否,我得到另一个错误:{“找不到可安装的ISAM。”} – olidev 2012-02-06 13:37:40