Question posted 2009 · +3 upvotes
Which is better API for excel parsing in Java Apache POI or JExcel API? In terms of speed, memory utilization and code stability.
Accepted answer +7 upvotes
Personally I would recommend POI over JExcel. The reasons I chose POI over JExcelAPI are:
- POI supports both old and new MS Excel sheet formats
- It has a cleaner API (imho)
- As far as I can see it does not suffer from the irritating DateTime issues that JexcelApi has (Date display).
I have had the opportunity to use both. POI, in my opinion, has a really well thought out and easy to use API. The biggest benefit from my perspective is that you can factory off the creation of the worksheet instance and then deal with everything in the context of the usermodel interfaces. This means your code can process both old and new Excel file formats without having to worry about which is which.
Additionally, you are able to read and write the same Worksheet instance. With JExcelApi there is this really strange split between “readable” sheets and “writable” sheets which I found odd. This also resulted in me having to introduce messy work arounds to move from “reading” to “writing” in my code.
I did not notice meaningful performance difference using POI on old, binary files (POI HSSF) and JExcelApi. There is however a significant performance difference between POI HSSF (old format) and POI XSSF (new format). I assume this is because of all the extra work required for unpacking and parseing XML.
Top excel Q&A (6)
- Shortcut to Apply a Formula to an Entire Column in Excel +335 (2011)
- How should I escape commas and speech marks in CSV files so they work in Excel? +136 (2012)
- Convert xlsx to csv in linux command line +96 (2012)
- How to create a link inside a cell using EPPlus +50 (2011)
- IF statement: how to leave cell blank if condition is false ("" does not work) +44 (2013)
- T-SQL: Export to new Excel file +44 (2012)
excel solutions on this site
.