At my current job, we have a requirement to generate reports in Microsoft XLS format. No advanced XLS capabilities are required. The requirement is just to generate the spreadsheet based on a given template.
Considering this, I am evaluating Jasper Reports and Jakarta POI.
Of these (Jasper reports and POI),
1.Which is less resource intensive and better performing? 2.Which is more flexible? 3.Any other open source projects worth giving a shot for XLS generation?
- Senthil. [ September 01, 2006: Message edited by: Senthil S Kumar ]
Three years down the line and I'm asking the same question... (Google is my friend, and turned up this post).
Given developments in both applications (Jasper Reports and POI) - is the position the same?
I've used POI in the past, and feel that a current requirement to use Jasper may be overkill...
Joined: Mar 22, 2005
Both libraries have progressed a lot, but if you need to create Excel files (XLS or XLSX), then POI is the premier choice.
I have explored three APIs for excel generation and need to go with one or change requirement accordingly.
Jasper - due to its template based nature of excel generation it is very costly affair to use specially regarding heap usage. Tested in JProbe, it points all jasper classes consuming large amount of heap memory.
POI - It has limit of 65,000 rows with HSSF. I have tested both HSSF and XSSF on the local workstation. I could create 10,000 rows with HSSF and received outofmemory exception, and for XSSF, I could never generate excel of 10,000 rows. Looks expensive. My Jboss heap setting was JAVA_OPTS="-Xms128m -Xmx512m -XX
JXL - very light, and of course is not as rich as POI but can create 65000 rows very easily with above mentioned heap setting on local JBoss server.
Folks, please update your experience about any of above excel generation APIs.
Babu and others thanks for this valuable information. Just curious to know if there is any tool like iReports that facilitates designing of reports because I found it quite handy and also Japser provides abstraction to internal java code generation so one need not bother about writing code for generating cell, workbook etc. Also same report design can be used to generate the report in othere formats like PDF, if demand comes form users, without looking at any additional tools or products and just calling additional API.
These are the adv I found while working with Jasper. So if Memory is not an issue then Jasper could be a more flexible option.
Not Biasing toward Jasper but these are the advantages I found real time.