Home > Software design >  Saving an ExcelPackage with exclusive lock of excel, giving error after opening excel file - C# - EP
Saving an ExcelPackage with exclusive lock of excel, giving error after opening excel file - C# - EP

Time:09-17

My objective is to write some data into an excel.

Here i am opening a file with file stream by exclusive lock (FileMode.Open, FileShare.Read etc., I need to lock the file to restrict others writing into excel while i am processing.) then writing some content into it and finally close the stream, so that other threads can write into this file. I am using EPPlus(5.7.4) version.

The code i am using here is :

public void WriteToExcel()
{
     using (var stream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
     using (var excelPackage = new ExcelPackage(stream))
     {
         DoSomething(excelPackage);
         excelPackage.SaveAs(stream);
         stream.Close();
     }
}

public void DoSomething(ExcelPackage excelPackage)
{
     var cell = excelPackage.Workbook.Worksheets[0].Cells[2, 3];
     cell.Value = "some value";
}

I put a break point in using statement and opened excel in the middle of execution and it showing a message saying like below which is correct.

enter image description here

  • Related