Я столкнулся с System.OutOfMemoryException при экспорте файла .xlsx из ASP .Net, это происходит при записи данных в поток памяти.Ошибка экспорта Excel (xlsx) Исключение типа 'System.OutOfMemoryException' было сброшено
protected void ExportExcel(string strWorkbookName, DataTable dt)
{
try
{
dt.TableName = strWorkbookName;
using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(dt);
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=" + strWorkbookName + ".xlsx");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
//HttpContext.Current.Response.SuppressContent = true; // Gets or sets a value indicating whether to send HTTP content to the client.
//HttpContext.Current.ApplicationInstance.CompleteRequest();
Response.End();
}
}
}
catch (Exception ex)
{
string errorMessage = string.Empty;
throw ex;
}
}
Исключения в настоящее время происходит на линии wb.SaveAs(MyMemoryStream);
XLWorkbook
класса принадлежит ClosedXML.dll, v0.69.1.0 библиотеки для экспорта в Excel.
Ссылка: https://closedxml.codeplex.com/
кто-либо идея!?!
Как это решить?
Насколько велика ваша DataTable? – Raidri
Его более 80 mb –