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
Errornet.sf.jasperreports.engine.JRException: Error executing SQL statement for : Passengers_list(this is my report’s name)
Hi,
I have created a cross tab report using iReport.
Now the output is getting exported to JR Viewer, but the same is not getting exported in PDF Format. Help me pls.
Thnx in advance,
Karthi
these questions and the solutions are greatly useful but how to post quetions regardng can any one please guide me.
Thnx in before.
these questions and the solutions are greatly useful but how to post quetions regardng can any one please guide me.
Thnx in before.
Hi Brian,
I want to display 60 lines per page. I adjusted the height from settings.Then pagebreak of all pages which is having records less than 26 is coming properly at 61 th line. but if records exeeded then the pagebreak is at 68th line.
Please tell me how to adjust records per page in iReport.
Hi Brian,
How to print row number in the detailband.
I want the 1st column to display the row number or record number. Starting from 1 & incremented by 1 for each record frtched.
Hi Brain,
Thanks for your ongoing support. I have couple of issues working woth jasper reports and hopefully I’ll find an answer here.
I have a requirement to create barcode labels of 4′ width and 2′ height. I created a report in jasper with the help of iReport. If I generate the report in pdf and print it from pdfviewer then it prints fine on the datamax label printer. But, if I try to print it from jsp by displaying a print dialogue it prints 4 extra labels first and prints data on the fifth one. I am assuming that it’s taking A4 paper size in account. So, I have set Printrequestattributeset parms as below with no luck.
javax.print.attribute.PrintRequestAttributeSet printRequestAttributeSet = new javax.print.attribute.HashPrintRequestAttributeSet();
printRequestAttributeSet.add(new javax.print.attribute.standard.MediaPrintableArea(0,0,jasperPrint.getPageWidth()/72,jasperPrint.getPageHeight()/72,javax.print.attribute.standard.MediaPrintableArea.INCH ));
exporter = new JRPrintServiceExporter();
exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.TRUE);
2. I have to display the print dialougue to Client and get the input from the user and print to that particular printer. But, with above code it displays the print dialogue on server computer.Is there a way to show it on client side? As this is label printing client will be printing 50 to 100 labels at a time and they just want to click on a button and select a printer. They don’t want to see how the output looks.
Thanks for your help,
Sammy
hi
I faced a problem on ireports while creating reports on pdf formator on text format.
Actually it leaves spaces after the rows.Even adjusting band size & minimising d field size has not removed d problem completely.
please suggest something.
Thanks & Regards
Tamal
hey
Pages: « 28 [27] 26 25 24 23 22 21 20 19 18 … 1 » Show All
RSS feed for comments on this post. TrackBack
net.sf.jasperreports.engine.JRException: Error executing SQL statement for : Passengers_list
How to solve this problem