2016-05-15 4 views
1

Ich versuche, über 200,000 Zeilen in Excel zu schreiben und bekommen die FehlerAusnahme vom Typ ‚System.OutOfMemoryException‘ ausgelöst wurde beim Schreiben von Daten in Excel

Ausnahme vom Typ ‚System.OutOfMemoryException‘ wurde

geworfen

Mein Code ist wie unten:

DataTable dtS = new DataTable(); 

dtS = myFucntion(); 

FileStream fs = new FileStream(Server.MapPath(@"~/Images/Tss_rpt.xlsx"), 
           FileMode.Open, FileAccess.Read); 

NPOI.XSSF.UserModel.XSSFWorkbook PBLXSSFWorkbook2 = 
    new NPOI.XSSF.UserModel.XSSFWorkbook(fs); 

XSSFSheet PBLsheet2 = (XSSFSheet)PBLXSSFWorkbook2.GetSheet("TssAML"); 

if (dtS.Rows.Count > 0) 
{ 
    XSSFRow PBLrows; 

    for (int i = 0; i < dtS.Rows.Count; i++) 
    { 
     PBLrows = (XSSFRow)PBLsheet2.CreateRow(i); 

     for (int j = 0; j < dtS.Columns.Count; j++) 
     { 
      PBLrows.CreateCell(j).SetCellValue(dtS.Rows[i][j].ToString()); 
     } 
    } 

    PBLrows = null; 

    MemoryStream ms = new MemoryStream(); 

    PBLXSSFWorkbook2.Write(ms); 
    ExportDataTableToExcel(ms, "Txn_Aml_rpt.xlsx"); 
} 
else 
{ 
    clsMessageBox.Show("No Record(s) Found !!"); return; 
} 

Antwort

0

hinzufügen

Response.Buffer = true; 
Response.Clear(); 

vor dem Schreiben von Daten.

+0

Warum sollte er es tun? –

+1

fügen Sie bitte einige Details zu Ihrer Antwort hinzu. – Sachin

Verwandte Themen