Добавление данных в существующую таблицу Excel с помощью Epplus LoadFromCollection () приводит к повреждению книги Excel - PullRequest
0 голосов
/ 14 мая 2018

У меня хранится шаблон Excel, который содержит около 25 листов с некоторыми стандартными данными, уже сохраненными на этих листах.и я получаю тот же шаблон и заполняю данные на существующие листы в нем, используя метод LoadFromCollection, который портит рабочую книгу.Выдача сообщения об ошибке «Файл поврежден, невозможно открыть».

Получите файл, сохраненный в S3, и передайте responseStream в пакет Excel.worksheet1 содержит некоторые данные в ячейках до строки 4 и столбца 4.

List listOfDummyData=someData;
MemoryStream outPutStream = new MemoryStream();
using (ExcelPackage excelPackage = new ExcelPackage(file.ResponseStream))
{
 ExcelWorksheets workSheets = excelPackage.Workbook.Worksheets;
 var worksheet= workSheets["worksheet1"];
 worksheet.Cells[4, 4, 4, 9].Clear();
 worksheet.Cells[4, 4, 4, 9].LoadFromCollection(listOfDummyData);    
 workSheets.saveAs(outPutStream);
}

И снова этот outPutStream сохраняется в aws S3.And при повторной загрузке файла.тьфу будет испорчен.

1 Ответ

0 голосов
/ 17 мая 2018

Здесь строка worksheet.Cells[4, 4, 4, 9].Clear(); была причиной, метод Clear удалял все существующие форматы ячеек, которые используются, чтобы вызвать повреждение файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...