我想修改和保存Excel中的數據。使用下面的代碼,我正在訪問表單,執行修改,然後保存文件。我無法保存該文件。這裏是我的代碼:無法保存Excel文件使用C#
Application excel = new Application();
excel.Visible=true;
Workbook wb = (Workbook)excel.Workbooks.Open(@"C:\Users\dnyanesh.wagh\Desktop\BookExcel1.xlsx");
Worksheet ws = (Worksheet)wb.Worksheets[1];
ws.Cells[1, 1] = "sagar";
ws.Cells[2, 1] = "sagar";
ws.Cells[3, 1] = "sagar";
wb.Save();
wb.close();
我收到此錯誤:「名爲‘BookExcel1.xlsx’已經存在該文件在此位置是否要取代它?」
所以我改變了代碼:
Workbook wb = (Workbook)excel.Workbooks.Open(@"C:\Users\dnyanesh.wagh\Desktop\BookExcel1.xlsx",0, false, 5, "", "",
false, XlPlatform.xlWindows, "", true, false,
0, true, false, false););
然後錯誤是:「BookExcel1.xlsx由user_name.open只讀被修改」。如果單擊「取消」按鈕,我收到上面「從HRESULT異常:0x800A03EC」異常
我也曾嘗試:
wb.SaveAs(@"C:\Users\dnyanesh.wagh\Desktop\BookExcel1.xlsx");
wb.Close(true,null,null);
從我收到同樣的錯誤,與上面的文件顯示修改。
任何人都可以告訴我如何保存修改的文件?
別t真的知道,但只是一個快速的想法......你確定可以用'SaveAs'使用相同的文件路徑嗎?通常這會創建一個新文檔。有沒有一個'Save()'函數,而不是你可以使用? – musefan
不要使其可見。 –
我沒有看到你發佈創建的COM對象。記住始終發佈你創建/使用的每個Excel對象。如果出現錯誤並且未關閉工作簿,那麼可能會保持打開狀態,因此只能對新實例進行只讀操作...更多:excel未關閉(使用'excel.Quit()'),因此可以執行大量Excel進程在內存中... – Marco