使用 Epplus LoadFromCollection() 向现有 Excel sheet 添加数据会损坏 Excel 工作簿

Adding data to the existing Excel sheet using Epplus LoadFromCollection() is corrupting the Excel Workbook

我存储了一个 Excel 模板,其中包含大约 25 张纸,其中已经存储了一些标准数据。然后我获取相同的模板并使用 LoadFromCollection 破坏工作簿的方法将数据填充到其中的现有工作表中;我收到一个错误

File Is corrupt cannot be opened

获取存储在S3中的文件并将responseStream传给ExcelPackage。 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。并且再次下载文件时,文件会损坏。

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