so far the product has proven outstanding for the purposes of the project my company is working on. The Aspose developpers have come through great dealing with technical issues. I do have one question though as I am trying to stress test aspose to make sure that all of the requirements are met.
Let me set up the situation. I have an excel based report which is supposed to be opened and viewed by clients in ASP environment. The steps taken to produce the report are to open a template excel file which holds only one sheet, copy that sheet x number of times (once for each page of the report), and then populate the data on each of the existing sheets.
This works great for reports which hold only small number of sheets. However as we get into the numbers of say 390 sheets, I notice that ASPNET_WP.EXE session in task manager crashes, and restarts. This causes the memory holding the info on the report and aspose workbook to be lost, resulting in the uncompleted process, and Page Cannot be found message displayed in Internet Explorer.
My theory is that some memory threshold must be reached within aspnet_wp process and it crashes. Since this does not happen if I reduce the number of sheets to say 170, I think my theory may be right.
Now, what can I do to minimize the memory usage by aspose? Is there some document listing the limits that aspose supports? (such as maybe 300 sheets maximum, etc.) Can I reduce the memory consumtion by somehow limiting the number of rows and columns in the sheet? (say that if I use only 1000 rows by 100 columns, can I tell aspose sheet to only display 1000x100 matrix of cells?)
Given the limits I’ll know what to code into the application to make sure that users never cross those limits.
I have not test the memory limitation of Aspose.Excel. That depends on your program. In your situation, I think the file you create is too huge.
You file size will be about : 1000rows x 100columns x10bytes x 2(buffer factor) x 390sheets = 780MB. I think that’s too much for aspnet_wp process. You have test that 170 sheets is acceptable. I don’t know how many data in your template. You can save the file and see the file size. The memory needed is about file size X 2.
The aspnet worker process automatically recycles itself when it takes up more than 60% of available memory by default. That percentage is configurable via your machine.config.
Examine the memoryLimit attribute in the processModel tag.
Thanks. Good advice and very useful information!