我发现使用EPPlus库生成Excel文件时出现了一个奇怪的错误。场景很简单 - 我需要在一个excel文件中有很多工作表。但是,在调用GetAsByteArray()
方法时,我会得到null reference exception
using (ExcelPackage xml = new ExcelPackage())
{
foreach (var mainValueItem in values)
{
using (ExcelWorksheet worksheet = xml.Workbook.Worksheets.Add($"sheet {mainValueItem.ID}"))
{
worksheet.Cells[1, 1].Value = "Date";
}
}
return ctr.File(xml.GetAsByteArray(), MediaTypeNames.Application.Octet);
}
那么,如何创建许多工作表?
答案 0 :(得分:0)
我找到了答案 - 我们不应该使用
using (ExcelWorksheet worksheet = xml.Workbook.Worksheets.Add($"sheet {mainValueItem.ID}"))
在那种情况下。相反,只需声明一个变量
var worksheet = xml.Workbook.Worksheets.Add($"sheet {mainValueItem.ID}");
现在它可以工作,我可以在生成的文件中看到多个标签。
快乐的编码!