使用Epplus LoadFromCollection()将数据添加到现有Excel工作表会破坏Excel工作簿

时间:2018-05-14 15:04:21

标签: c# excel epplus

我存储的Excel模板大约有25张,其中一些标准数据已经存储在这些工作表中。然后我使用LoadFromCollection方法获取相同的模板并将数据填充到其中的现有工作表中,这会破坏工作簿。 无法打开错误"文件已损坏。"

获取存储在S3中的文件,并将responseStream传递给excel Package。 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再次下载文件。 fie将被腐蚀。

1 个答案:

答案 0 :(得分:1)

这里worksheet.Cells[4, 4, 4, 9].Clear();行是罪魁祸首,Clear方法正在删除用于导致文件损坏的所有现有单元格格式。