Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
540
Export to Excel Performance & System.OutOfMemoryException
posted

Hi,

We have built an application to use WinGrid to show data and then provided a feature to export the grid data to excel using UltraGridExcelExporter  (Version used: 10.1)

The general performance of the export functionality for records greater than 25000 is slow and when the number is higher in the range of 40000 to 90000 we end up getting System.OutOfMemoryException.

Trying to isolate this problem, is this error and the performance anything to do with the client side memory or is there any limitation with ExcelExporter?

Also is there any stats related to performance of Export functionality for different size of records available for reference? This will be helpful to set a broad level expectations of the feature performance to users.

Looking at some of the older post of performance and out of memory exception i noticed few places the recomendation is to download latest hotfixes. There is one Service release for 10.1 on 15th Mar 2011, i will install this.

Any details related to the issue on how to go about addressing it will be helpful.

Exception Stack trace is as follow:

Process Name: mscorlib
Win32 Thread Id:    at System.Collections.Generic.Dictionary`2.Resize()
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Collections.Generic.Dictionary`2.set_Item(TKey key, TValue value)
   at Infragistics.Excel.WorksheetCell.set_CellFormatProxy(WorksheetCellFormatProxy value)
   at Infragistics.Excel.WorksheetCell.get_CellFormatInternal()
   at Infragistics.Excel.WorksheetCell.get_CellFormat()
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.SetRegionRelativeToOrigin(UltraGridExporterHelper exportHelper, Rectangle rect, Object val, IWorksheetCellFormat cellFormat)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.WriteValueCell(UltraGridExporterHelper exportHelper, UltraGridRow row, UltraGridColumn ugColumn, Rectangle valueCellRect)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.ExportRowValuesCells(UltraGridExporterHelper exportHelper, UltraGridRow row)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.WriteSingleRow(UltraGridExporterHelper exportHelper, UltraGridRow row)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.ProcessSingleRow(UltraGridExporterHelper exportHelper, UltraGridRow row)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.ProcessGridRowInternal(UltraGridExporterHelper exportHelper, UltraGridRow row, ProcessRowParams processRowParams)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExporterHelper.ProcessRow(UltraGridRow row, ProcessRowParams processRowParams)
   at Infragistics.Win.UltraWinGrid.RowsCollection.InternalTraverseRowsHelper(IUltraGridExporter exporter)
   at Infragistics.Win.UltraWinGrid.UltraGrid.Export(IUltraGridExporter exporter)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.Export(UltraGrid grid, Worksheet worksheet, Int32 startRow, Int32 startColumn)
   at Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter.Export(UltraGrid grid, Workbook workbook)

 

Thanks,

Narasimha