We have been using POI for EXCEL generation for a number of years successfully.
Recently we started using the EXCEL2007 (OOXML) generation capabilities of POI 3.5. The reason we wanted the OOXML capabilities was to generate excel reports with more than 64K records. As soon as we started using the OOXML/POI 3.5beta5 version we started having enormous memory issues that pretty much makes POI unusable for our scenarios. We regularly generate reports with 20K -50k records and this was handled easily with the excel format. The OOXML format with poi uses humongous amounts of memory even for modest number of records. For example we generated a report with 14K records and unless we allocated 1.2GB of heap space to the Java VM the report could not complete. The usual error is the Java VM crashes with a not enough heap space error. I would appreciate if anybody could advise us on how to avoid this memory situation. Also why does POI 3.5 keep everything in memory? Are there any plans to rework POI 3.5 to better manage generation of large excel 2007 worksheets? Thanks and regards /Sanjay
