I'm looking for a templating tool that allows powerful manipulation of data and report building. JasperReports is powerful, but is it the best out there? I generally don't need the ability for fancy colors or gradients, but I do need the ability to position data accurately and produce reliable, quick results. Ideally, generating a report shouldn't need to be driven by a visual tool, either, and should be entirely API based.
Does anyone have real experience with any major reporting framework in a large scale application? Some of the reporting tools I've seen deal primarily with BusinessIntelligence, and thus less direct programmatic control.
So in summary, I need
- Strong documentation and support
- The ability to control document output and print to PDF, programmatically
- Multiple layout formats
- Speed and efficiency
- Ability to last at least 4+ years
and I don't need
- Pretty colors
- Rich interfaces (HTML output/etc.)
In general, I'll be producing batch documents, which is why speed and efficiency are very relevant concerns.
Suggestions? Thoughts?
JasperReports is powerful, but is it the best out there?
JasperReports is the best Java based reporting solution available.
Read the JasperReports 3.6 Development Cookbook to understand its capabilities.
BIRT works for us. It's one of the core Eclipse products and we use it for the web reporting side of our product (currently shipping over 500 reports).
Head on over to Eclipse BIRT and check out the doco and samples, they're comprehensive. The BIRT newsgroup is also very active.
It has many output formats (PDF, Excel, HTML, etc) and you can schedule reports to be run using normal schedulers (it has a CLI interface). The running and rendering of reports can be different phases so you can generate just the report data and render it later in any form you want.
In addition, it has full Java and Javascript control over the report object model (report equivalent to the web browser DOMs that allow you to do all those fancy web tricks). We've written quite a bit of Javascript to make the reports more interactive (standard reports have interactivity, it's just that you can do some much more once you start running code within the report itself).
The web (HTML) aspect really shines (even though you don't seem that interested). The ability to drill down through hot links is a very good selling point.
As to its ability to last four years, it's hard to say but, given that it's been around for at least four years already (and that was 2.0), it's not a fly-by-night operation.
And, on top of all that, it does pretty colours and charts as well. Anyway, I hope you've enjoyed my advertorial, feel free to ask any questions you want and I'll try to answer them, or refer them for our more technically minded specialists :-)
Sounds like a job for Crystal Reports.
The Business Intelligence and Reporting Tools (BIRT) Eclipse project is definitely the way to Go, I've been using it for about two years now with no complain.
- Report designer eclipse plugin (Very, very easy to use).
- Multiple report output formats.
- You can embedded the BIRT report engine runtime with you app, or call it via a http request.
- Has a very active user community.
- Has lots of charts and components.
- Can be extended.
You can find some links and reviews to a few other options here:
http://www.osalt.com/crystal-reports
The newest version of Crystal Reports is actually pretty decent, and there is quite a bit of good documentation for it (both bundles and on the web).