Yegor, I was happy to see that the 3.6 version of POI had some significant memory optimization work done in XSSF.
However after testing the 3.6 code I find the optimization is still insufficient for our usage. Our main use for the Excel 2007 format is to exceed the 64K row limit with Excel. Unfortunately in most of our real world reports even with the 3.6 codebase the memory usage remains outrageous for XSSF and most often leads to server crashes due to out of memory errors. Is there any plan on re-designing the XSSF implementation since the current implementation does seem to have significant issues. Thanks /sanjay On 20 July 2009 12:02, Yegor Kozlov <[email protected]> wrote: > >> But the question remains. Are there any plans to fix the memory usage for >> the EXCEL 2007. The memory requirement seems to be unbelievably high. >> >> >> > POI OOXML is powered by Apache XMLBeans. It made development much quicker > and easier but with the drawback of high memory requirement. We do have > plans to reduce memory usage but I'm not sure how much can be done. > > Yegor > > > Regards >> /sanjay >> >> On Fri, Jul 17, 2009 at 7:34 PM, Yegor Kozlov <[email protected]> wrote: >> >> Use direct streaming in XML. A sample implementation can be found at >>> >>> >>> >>> http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java >>> >>> It's not a ready-to-use API, rather a proof of the concept. To use more >>> advanced features (merged cells, custom height or width of rows and >>> cells, >>> conditional formats, etc.) you will need to study the SpreadsheetML >>> documentation and enhance the demo. >>> >>> Yegor >>> >>> >>> 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 >>>> >>>> >>>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
