簡體   English   中英

OLEDB更新excel細胞

[英]OLEDB with updating excel cells

我寫了這個方法來更新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'

我總是遇到這個例外:沒有給出一個或多個必需參數的值。

任何的想法?

提前致謝。

編輯我注意到你錯過了HDR = No。

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + 
";Extended Properties=""Excel 12.0;HDR=No"""

編輯在C#Express中測試

或者:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=z:\\docs\\myspreadsheet.xls;Extended Properties='Excel 12.0 xml;HDR=No'"

注意xml

要么

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=z:\\docs\\myspreadsheet.xls;Extended Properties='Excel 8.0;HDR=No'"

對於* .xls

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM