2011-08-11 75 views
1
worksheet.Cells[1,2] = "MSC"; //Editing the file 
     worksheet.Cells[1,1].Style.Font.Bold = true; 
     theWorkbook.Save(); //Saving The file it throws Read only file Exception 

當我使用這段代碼出現異常時告訴我,該文件是隻讀的,我必須從它 保存一個新的副本,如果我使用如何在不保存文件的情況下將更改保存在C#上的現有Excel文件中?

theWorkbook.Close(misValue, misValue, misValue); 

它彈出一個消息窗口來保存文件中的新副本,並且我想編輯文件並將其保存到現有文件中

回答

1

找到的文章here提供了將工作簿保存在臨時文件中並用該臨時文件覆蓋原始文件的代碼。

相關片段:

//[...] 
string tmpName = Path.GetTempFileName(); 
File.Delete(tmpName);   
wb.SaveAs(tmpName, missing, missing, missing, missing, missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, missing, missing, missing, missing, missing); 
wb.Close(false, missing, missing); 
excel.Quit(); 
File.Delete(Fname); 
File.Move(tmpName, Fname); 
相關問題