Hi, As directed by David, posting as a bug entry. This project does not contain Unit test cases, but I have created a small stand-alone program. If needed unit test cases can be created, but that depends upon my availability. Forum Entry can be found at : http://old.nabble.com/POI-3.5-Memory-and-perfomance-solution-td26313991.html For Reference: -------------- This is continuation of thread at below location: http://old.nabble.com/Memory-and-perfomance-issues-td25990601.html We have extended Yegor's BiggridDemo and provided some more features. I have attached approach document for attached eclipse project. This project also contains ready to run program (ExcelDemo.java). This solution does not cover 100% of Excel features but targets most of the sweet spots. We would like to know how best we can utilize this code in POI. Note: ooxml-schemas-1.0.jar, xmlbean-2.3.0.jar and poi-3.5-beta7-20090602.jar files are not included in eclipse project due to file size limitation. Please provide the files in classpath.DemoProject.zip
Hi, Because of the size limitation DemoProject.zip can not be attached here. Please download it from forum entry. Jaydeep.
Created attachment 24548 [details] Approch document, to give more infomation about solution.
As I understood main idea is to use common classes(Cell, Sheet, Workbook) for HSSF and XSSF and use Mappers(or Writers) to save workbook into needed format. It will be suitable because parsing and saving HSSFWorkbook and XSSFWorkbook takes different memory and process resources. In addition it will good for evaluation. I created simle test with sheet that contains big number of formulas and run it with profiler. Test contains parsing of workbook and evaluaion of all formulas two times. Results: Step HSSF XSSF Parsing: 10735ms 19859ms The First Evaluation: 5046ms 18234ms The Second Evaluation: 485ms 922ms Methods of formula parsing(during the First Evaluation) and getting type of cell(during the Second Evaluation) takes most of time.
Please do not randomly change priorities without offering useful input If this bug is critical to you, please submit patches that improve things, or get a budget to sponsor someone to code the patches
Since 3.8-beta3, POI provides a low-memory footprint SXSSF API built on top of XSSF. See http://poi.apache.org/spreadsheet/index.html and http://poi.apache.org/spreadsheet/how-to.html#sxssf Yegor