SwethaVijayan Ответов: 2

Как мы можем избежать только чтения файла excel во время потока записи в excel из C# , если файл excel открыт?


во время записи значений в excel из c#, в то же время файл excel открыт , он показывает ошибку, что файл находится только для чтения, так как мы можем избежать этой ошибки во время потока записи из c# в Excel

Что я уже пробовал:

 //Get all the sheets in the workbook
 mWorkSheets = mWorkBook.Worksheets;
 //Get the allready exists sheet
 mWSheet1 = (Microsoft.Office.Interop.Excel.Worksheet)mWorkSheets.get_Item("Sheet1");
 Microsoft.Office.Interop.Excel.Range range = mWSheet1.UsedRange;

 int colCount = range.Columns.Count;


 int rowCount = range.Rows.Count+1;
 for (int index = 0; index < NoOfRecords; index++)
 {
     for (int j = 0; j < colCount; j++)
     {                       
         mWSheet1.Cells[(rowCount) + index, j + 1] ="'"+Convert.ToString(ResultsData.Rows[index][j].ToString());
     }
 }


 mWorkBook.SaveAs(path, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,
 Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,
 Missing.Value, Missing.Value, Missing.Value,
 Missing.Value, Missing.Value);
mWorkBook.Close(Missing.Value, Missing.Value, Missing.Value);

2 Ответов

Рейтинг:
1

Dave Kreskowiak

Если файл заблокирован открытым другим процессом, вы ничего не можете с этим поделать. Вы должны записать содержимое в другой файл или подождать, пока файл не будет закрыт другим процессом.


Рейтинг:
1

Patrice T

Цитата:
во время записи значений в excel из c#, в то же время файл excel открыт , он показывает ошибку, что файл находится только для чтения, так как мы можем избежать этой ошибки во время потока записи из c# в Excel

2 или более отличников могут работать над одной и той же рабочей книгой одновременно. Книги должны рассматриваться как совместно используется Excel.
Я не знаю, сможет ли Interop справиться с этим и как.