我正在使用Shaman.EPPlus,它应该是与ASP.NET Core MVC兼容的EPPlus版本。
我正在尝试将对象集合导出为xlxs文件。
代码如下:
foreach(var client in clientsToExport)
{
clientList.Add(new object[] { "FirstName", client.FirstName });
}
MemoryStream stream = new MemoryStream();
using (ExcelPackage pck = new ExcelPackage(stream))
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Clients");
ws.Cells["A1"].LoadFromArrays(clientList);
pck.Save();
Response.Clear();
Response.Headers.Add("content-disposition", "attachment; filename=Clients.xlsx");
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
var bytes = pck.GetAsByteArray();
Response.Body.WriteAsync(bytes, 0, bytes.Length);
}
似乎在调用GetAsByteArray方法时引发了包含消息“Par已经存在”的异常。
你知道我能检查什么吗?
最佳答案
问题是这些行:
pck.Save();
....
var bytes = pck.GetAsByteArray();
两次调用都将导致包裹被Epplus关闭。您不需要
.Save
调用,因为无论如何它将由.GetAsByteArray
自动调用,因此只需删除第一行。关于c# - Shaman.EPPlus + ASP.NET Core MVC-部分已存在异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40064880/