在我的ASP.NET Core 1.1应用程序中,我使用EPPLus.Core将数据导出到Excel。但在文件下载时,我收到错误:Failed- network error
控制器
public async Task<FileStreamResult> CPT_RC_Excel(int FiscalYear)
{
var custlist = _Context.Customers.Where(c => c.Region=="NW").ToList();
MemoryStream ms = new MemoryStream();
using (ExcelPackage pck = new ExcelPackage(ms))
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Clients");
ws.Cells["A1"].LoadFromCollection(custlist);
Response.Clear();
Response.Headers.Add("content-disposition", "attachment; filename=TestFile.xlsx");
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
var bytes = pck.GetAsByteArray();
await Response.Body.WriteAsync(bytes, 0, bytes.Length);
return File(ms, "application/force-download", "TestFile.xlsx");
}
}
更新:
Google Chrome and IE 11
发生错误。整个应用程序位于本地桌面上。此处不涉及网络驱动器。答案 0 :(得分:0)
您可以尝试这样的事情:
public async Task<ActionResult> CPT_RC_Excel(int FiscalYear)
{
var fileContentAsByteArray = [generate your file as a byte array]
return File(fileContentAsByteArray, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "TestFile.xlsx");
}
如果这不起作用,则问题在于文件生成。
尝试删除对MemoryStream的引用并使用...
...
using (var excelPackage = new ExcelPackage())
{
...
}