Экспорт в excel system. outofmemoryexception
Sub ExportExcel() Using wb As New XLWorkbook() 'Loop through the GridView pages. For i As Integer = 1 To GridView2.PageCount - 1 Me.BindGrid() 'Set the Current Page. GridView2.PageIndex = i 'Create a DataTable with schema same as GridView columns. Dim dt As New DataTable("Page_" & (i + 1)) For Each cell As TableCell In GridView2.HeaderRow.Cells dt.Columns.Add(cell.Text) Next 'Loop and add rows from GridView to DataTable. For Each row As GridViewRow In GridView2.Rows dt.Rows.Add() For j As Integer = 0 To row.Cells.Count - 1 dt.Rows(dt.Rows.Count - 1)(j) = row.Cells(j).Text Next Next 'Add DataTable as Worksheet. wb.Worksheets.Add(dt) Next 'Export the Excel file. Response.Clear() Response.Buffer = True Response.Charset = "" Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" Response.AddHeader("content-disposition", "attachment;filename=GridView.xlsx") Using MyMemoryStream As New MemoryStream() wb.SaveAs(MyMemoryStream)--// Error here-- System.OutOfMemoryException. MyMemoryStream.WriteTo(Response.OutputStream) Response.Flush() Response.[End]() End Using End Using End Sub
Что я уже пробовал:
Я попытался экспортировать 30000 записей в excel на одном листе он выдает исключение outofmemory
я попытался установить maxRequestLength= "2097151", но это не сработало
затем я попытался экспортировать в несколько листов, это сработало, но не позволило мне экспортировать более 8000 записей, если кто-нибудь знает помощь.