2011-08-11 8 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 

quand j'utiliser ce morceau de code, une exception est en me disant que le fichier est en lecture seule et je dois enregistrer une nouvelle copie de celui-ci et si j'utiliseComment enregistrer les modifications dans un fichier Excel existant sur C# sans réenregistrer le fichier?

theWorkbook.Close(misValue, misValue, misValue); 

il affiche un message fenêtre pour enregistrer une nouvelle copie à partir du fichier et je veux modifier le fichier et l'enregistrer dans le fichier existant

Répondre

1

Le message here fournit le code pour enregistrer le classeur dans un fichier temporaire et écrase le fichier d'origine avec cette copie temporaire .

extrait pertinent:

//[...] 
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); 
Questions connexes