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);
它弹出一个消息窗口以保存文件中的新副本,我想编辑该文件并将其保存到现有文件
答案 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);