2011-08-11 13 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); 
関連する問題