We use Apache POI to export lists of drawing deliveries to excel files. To overcome the limitation of 65.535 rows per file with xls (Excel 97) we introduced xlsx (Excel 2007) support which allows for up to 1.048.575 rows. In addition to the increased amount of data which has to be handled, we encountered increased memory consumption by XMLBeans which is used by POI for creation of the xlsx document tree. The bigger memory footprint of xssf compared to hssf model is a well-known problem. In POI 3.5 there was an example included demonstrating a workaround for big tables: BigGridDemo.java >> more…

While playing around with Apache’s POI library to export Excel files I was wondering what HSSF could possibly mean… maybe some technical abbreviation? Looking it up in the documentation finally showed it’s actually “Horrible Spreadsheet Format”. Having worked with it, I’d say the name was chosen wisely.