2016-06-11 3 views
0

мне нужно экспортировать данные в PDF-файл, , но у меня есть `исключение типа
Исключение типа 'System.OutOfMemoryException'

System.OutOfMemoryException' occurred in mscorlib.dll but was not handled in user code

это мой код

using (StringWriter sw = new StringWriter()) 
    { 
     using (HtmlTextWriter hw = new HtmlTextWriter(sw)) 
     { 
      GridView ExportGrid = new GridView(); 
      ExportGrid.AllowPaging = false; 
      List<Tayf.Models.Product> DataLst = new List<Tayf.Models.Product>(); 

      DataLst = HttpContext.Current.Cache["productcache"] as List<Tayf.Models.Product>; 

      ExportGrid.DataSource = DataLst;//DataSet1 has all values without paging 
      ExportGrid.AllowPaging = false; 

      ExportGrid.DataBind(); 

      ExportGrid.RenderControl(hw); 
      StringReader sr = new StringReader(sw.ToString()); 
      Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f); 
      PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); 
      pdfDoc.Open(); 
      XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr); 
      pdfDoc.Close(); 
      Response.ContentType = "application/pdf"; 
      Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf"); 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      Response.Write(pdfDoc); 
      Response.End(); 
     } 
    } 

мои данные очень огромные свыше 1 миллиона строк, и мне нужно экспортировать все данные в один файл

+2

«не обрабатывался». Используйте try catch и распечатывайте трассировку стека из исключения. –

+0

@MillieSmith решит проблему!?, Он просто проигнорирует ошибку –

+2

Это поможет вам понять, в чем проблема, поэтому вы можете исправить ее. –

ответ

0

Поскольку ваши данные такие большие, возможно, вам следует разделить ваши данные на многие части и записать их в pdf отдельно.

+0

@Nesreenadly. Я не знаком с инструментами, которые вы используете в своем коде, но, может быть, вы можете написать файл по строкам? Извините, это просто моя простая идея. –

Смежные вопросы