我存储的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将被腐蚀。
答案 0 :(得分:1)
这里worksheet.Cells[4, 4, 4, 9].Clear();
行是罪魁祸首,Clear方法正在删除用于导致文件损坏的所有现有单元格格式。