如何保存C#上现有Excel文件的更改而不重新保存文件?

时间:2011-08-11 11:04:20

标签: c# excel

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

当我使用这段代码时,会发生一个异常,告诉我该文件是只读的,我必须从中保存一个新副本 如果我使用

theWorkbook.Close(misValue, misValue, misValue);

它弹出一个消息窗口以保存文件中的新副本,我想编辑该文件并将其保存到现有文件

1 个答案:

答案 0 :(得分: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);