tags: Java
, JasperReports
, J2EE
posted: Friday, April 8th, 2005
The most recent project I have been working on involved creating a large number of reports for the company’s extranet/intranet. In the past, I have usually done reports using some form of JSP and JDBC. But in this case, there is a large number of reports to be developed, and so I was tasked with researching some of the open source solutions for reporting, in hopes we could find a solution that would allow us to get the reports done faster, and be provided to the user with more functionality, and with less custom code.
In the end we compared Crystal reports with JasperReports, and JasperReports was picked. JasperReports is not only free, but also is proven in the Java world, and has a lot of users. It is customizable, since its Java and open source, and has support for using Collections or Lists of Business Objects, such as those populated via Hibernate.
Once JasperReports was chosen, I tested several GUI’s to help build the reports instead of editing them strictly in their native XML. JasperAssistant was found to be the best of all of them, and integrates seamlessly with Eclipse. If you are an Eclipse fan as I am, then you’ll love using JasperAssistant. It even allows you to preview the report against your database right in Eclipse.
Next, I looked into OpenReports. OpenReports is a front end for JasperReports. It was written in WebWork, and provides a lot of functionality that you would have to write yourself to get the reports running on the web. It comes with basic security (users, passwords, and reporting groups). You can assign which users can access which groups, and which reports are in which groups. You can also add parameters, and then assign them to a report. You create the JasperReport in JasperAssistant (or with any other tool, including a text editor if you want to do the XML by hand), and then compile it (which JasperAssistant does for you). Then when you add a new report to OpenReports, you select which JasperReport file to use, select your datasource, assign your parameters and the report is ready to be used on the web.
OpenReports allows the user to export the report as a PDF, HTML, CSV, XLS, or PNG. This is all done for you without any additional work. As for parameters, there is some good functionality built in. When you add a Date parameter to your report, it automatically brings up a calendar for the user to select the date with. Also, you can add a query parameter which runs an sql that you have specified, and populates a drop down select box with the results. Parameters can be marked as required or optional, can be several different data types, and can be told to come in in any order needed. There are other parameter options as well. It also allows the user to schedule a report and have it emailed to a user.
I have made some improvements to OpenReports, including the Collection/List functionality to use Business Objects which JasperReports supports, but OpenReports currently doesn’t. At some point I’ll pass that code on to the original developers.
In the end, with JasperReports and OpenReports, the only thing you have to worry about is creating the SQL to get the data. After that, it takes little work to provide a nice looking report in multiple formats on a web site.
Comments (275)
Leave a Comment
Pages: « 28 27 26 25 24 [23] 22 21 20 19 18 … 1 » Show All
Hi Brain,
I am desinging jasper reports using ireport 1.3.3
and my requirement is to dynamically displaying the columns and i am able to do this by placing the condition on the required field and text box but i am not able to remove the blank spaces after removing the columns .So i want to remove the blank spaces and columns should be rearranged, is it possible in ireport or not please let me know.
Hi,
I get following error.
Would you tell me about this to solve it?
Please send me Answer.
org.xml.sax.SAXParseException: Attribute “class” with value “java.sql.Date” must have a value from the list “java.lang.Boolean java.lang.Byte java.util.Date java.sql.Timestamp java.sql.Time java.lang.Double java.lang.Float java.lang.Integer java.lang.Long java.lang.Short java.math.BigDecimal java.lang.Number java.lang.String “.
Hi aik,
You can use variable as $V{Srno}.
# Srno variable properties
======================
class >>>java.lang.Integer().
initial value >>> new java.lang.Integer(0)
Expression >>> new java.lang.Integer(($F{ONE_FIELD_FR_DB}==NULL?$V{Srno}:$V{Srno}+1))
Try it, ![]()
Sai
To Brian Burridge,
I want the each line number
in the detail band, when each line is created
by aik
Hi,
Anyone knows abt how to access sqlsever stored procedure in iReport1.3.
Expecting good result asap.
Thanks
Hi,
Anyone knows abt how to access sqlsever stored procedure in iReport1.3
URGENT : What is the best way to inject a composite Hibernate Set into a Jasper Report e.g.
public class Employment {
private Set jobs;
}
public class Job {
private String jobName;
}
I retrieve via a Hibernate Query which has a left join on Job jobs which returns data OK. I then push the Employment object to the JRBeanCollectionDataSource. In the jrxml I have
jobs.jobName as a field to be displayed in the Detail band. I get a message stating that property cannot be found.
URGENT is much appreciated.
HAI IAM KIRAN IAM NEW TO JASPER… MY REQUIREMENT IS USING STRUTS +HIBERNET QUERY I NEED GENERATE REPORTS ON BROWSER … PLZ..PLZ…HELP ME I AM IN TROUBLE PLZ SEND ONE APPLICATION ON STRUTS+HIBERNET PLZ …HELP ME..
mkk_reddy@yahoo.com
THANKIG U
KIRAN
Pages: « 28 27 26 25 24 [23] 22 21 20 19 18 … 1 » Show All
RSS feed for comments on this post. TrackBack
Hi Brain,
I am desinging jasper reports using ireport 1.3.3
and my requirement is to dynamically displaying the columns and i am able to do this by placing the condition on the required field and text box but i am not able to remove the blank spaces after removing the columns .So i want to remove the blank spaces and columns should be rearranged, is it possible in ireport or not please let me know.
Regards
Suresh