I am using the Aspose.Cells for .NET, version 7.0.4.0. I am having around 140K records from database and 15 columns.
Hi,
Amjad,
We are facing more and more major issue with Aspose. Our client is very upset with use due to none of the project are working because of “Out of memory” issue. As I told you the we have the 7.3.0.0 on Production and having lots of issues now. The Old version 7.0.4.0 was little more stable.
As you know that we are fetching 150K records with 68 columns in it.
Please see the below ERROR we got it from production server.
Error Msg: Exception of type ‘System.Web.HttpUnhandledException’ was thrown.
Error Src: System.Web
Stack: at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.sapreports_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Target: HandleError
Dump: System.Web.HttpUnhandledException: Exception of type ‘System.Web.HttpUnhandledException’ was thrown. —> System.OutOfMemoryException: Exception of type ‘System.OutOfMemoryException’ was thrown. at Aspose.Cells.Row.GetCell(Int32 , Boolean , Boolean ) at Aspose.Cells.Cells.ImportDataTable(DataTable dataTable, Boolean isFieldNameShown, Int32 firstRow, Int32 firstColumn, Int32 rowNumber, Int32 columnNumber, Boolean insertRows, String dateFormatString, Boolean convertStringToNumber) at Aspose.Cells.Cells.ImportDataTable(DataTable dataTable, Boolean isFieldNameShown, Int32 firstRow, Int32 firstColumn, Int32 rowNumber, Int32 columnNumber, Boolean insertRows, String dateFormatString) at Aspose.Cells.Cells.ImportDataTable(DataTable dataTable, Boolean isFieldNameShown, Int32 firstRow, Int32 firstColumn, Int32 rowNumber, Int32 columnNumber, Boolean insertRows) at Aspose.Cells.Cells.ImportDataTable(DataTable dataTable, Boolean isFieldNameShown, Int32 firstRow, Int32 firstColumn) at FST.components.Export2007New.Report8SAPa(HttpResponse response, Int32 CustomerId, Int32 VendorId, Boolean ShowLucentData) at FST.SAPReports.lnkRpt11a_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) — End of inner exception stack trace — at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.sapreports_aspx.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Hi,
Regarding memory issue, if you are putting 150K with 68 columns in a single sheet, you will surely need more RAM for this huge list of data. If you do not have sufficient RAM for this big process, the error will be thrown surely. Also, if you are able to save the Excel file in any case, with huge data/contents, it will be huge and MS Excel will also take some time to be opened in it. If you do not have sufficient amount of RAM, you 'd better split your data into multiple worksheets in the workbook.
May be you could use LightCells APIs to place this huge data list if possible and save to XLSX file format, see the topic (It is for JAVa but you may use it in .NET accordingly): http://www.aspose.com/docs/display/cellsjava/Using+LightCells+API
I have also attached a simple program using Aspose.Cells for .NET’s LightCells APIs for reference, so you may create your own code using LightCells APIs.
Also, , we recommend you you to try the latest version: Aspose.Cells for .NET v7.3.1.3 if it makes any difference, you may test it on your local machine, if it works better then you may update over your production server.
If you still could not evaluate, kindly create a sample project, zip it and post it here to show the issue, we will check it soon.
Thank you.