Generating reports with Jasper Reports Sean C Sullivan
- Slides: 27
Generating reports with Jasper. Reports Sean C. Sullivan Portland Java Users Group April 2004
Agenda • Jasper. Reports • Jasper. Assistant
Jasper. Reports • open source Java reporting tool • http: //jasperreports. sourceforge. net/
Using Jasper. Reports 1. Create a JRXML file 2. Load the JRXML file 3. Compile the report 4. Fill the report with data 5. Export the report (PDF, HTML, etc)
Hello Jasper import dori. jasper. engine. *; import dori. jasper. engine. design. *; import java. sql. *; Jasper. Design design = Jasper. Manager. load. Xml. Design("hello. jrxml"); Jasper. Report report = Jasper. Manager. compile. Report(design);
Hello Jasper Result. Set rs = get. Result. Set(); JRData. Source data. Source = new JRResult. Set. Data. Source(rs); Map params = new java. util. Hash. Map(); params. put("Bonus", new Integer(12000)); params. put("Year", “ 2004”);
Hello Jasper. Print print = Jasper. Manager. fill. Report( report, param, data. Source); Jasper. Export. Manager. export. Report. To. Html. File( print, "hello. html"); Jasper. Export. Manager. export. Report. To. Pdf. File( print, "hello. pdf"); Jasper. Export. Manager. export. Report. To. Xml. File( print, "hello. xml", false);
Jasper. Reports 101 • design objects – Jasper. Design • report objects – Jasper. Report • datasource objects – JRData. Source • print objects – Jasper. Print
XML report templates • jasperreport. dtd • File extension: jrxml
Example: JRXML file <? xml version="1. 0" encoding="UTF-8"? > <!DOCTYPE jasper. Report PUBLIC "-//Jasper. Reports//DTD Report Design//EN" "http: //jasperreports. sourceforge. net/dtds/jasperre port. dtd"> <jasper. Report name="Simple. Report" page. Width="900" page. Height="1000" when. No. Data. Type="All. Sections. No. Detail" column. Width="555" left. Margin="20" right. Margin="20" top. Margin="30" bottom. Margin="30"> <!-- etc --> </jasper. Report>
Jasper. Design objects • Jasper. Manager. load. XMLDesign • Jasper. Manager. load. Design
Manager classes • dori. jasper. engine. Jasper. Manager • dori. jasper. engine. Jasper. Compile. Manager • dori. jasper. engine. Jasper. Fill. Manager • dori. jasper. engine. Jasper. Print. Manager • dori. jasper. engine. Jasper. Export. Manager
Compiling designs Jasper. Design design = Jasper. Manager. load. Xml. Design("metrics. jrxml"); Jasper. Report report = Jasper. Manager. compile. Report(design);
Ant task: <jrc> <jrc srcdir="${src. reports. dir}" destdir="${build. dir}/reports" tempdir="${build. dir}/temp" keepjava="true" xmlvalidation="true"> <classpath> <pathelement location="${classes. dir}"/> <fileset dir="${lib. dir}"> <include name="**/*. jar"/> </fileset> </classpath> </jrc>
Data sources • a data source is an object that provides data to Jasper's report engine • do not confuse with javax. sql. Data. Source
JRData. Source interface public interface JRData. Source { public boolean next() throws JRException; public Object get. Field. Value(JRField field) throws JRException; }
Data source classes • JRResult. Set. Data. Source • JRBean. Array. Data. Source • JRBean. Collection. Data. Source • JRMap. Array. Data. Source • JRMap. Collection. Data. Source • JRTable. Model. Data. Source
Output formats • CSV (JRCsv. Exporter) • JPEG • PDF (JRPdf. Exporter) • XLS (JRXls. Exporter) • XML (JRXml. Exporter) • HTML (JRHtml. Exporter)
Jasper. Reports viewers Swing applications – dori. jasper. view. Jasper. Viewer – dori. jasper. view. Jasper. Design. Viewer
Jasper. Viewer
Jasper. Assistant • visual report designer • commercial tool (not open source) www. jasperassistant. com
Jasper. Assistant runs inside Eclipse
Demo: Jasper. Assistant
Open source projects http: //jasperreports. sourceforge. net/ http: //www. jfree. org/jfreereport/ http: //datavision. sourceforge. net/ http: //www. lowagie. com/i. Text/ http: //xml. apache. org/fop/
Commercial software • Report. Mill • Actuate • Windward Reports • Crystal Reports • Oracle Reports • Cognos Report. Net • Hyperion Reports
Beyond Jasper. Reports • Who is allowed to create and modify report templates? • Where are the report templates stored? • How will you publish and distribute the reports? • Do you need to archive the reports? • Will you generate reports on demand or on a fixed schedule (nightly, weekly) ? • Is user A allowed to view report B?
Conclusion Download Jasper. Reports today http: //jasperreports. sourceforge. net
- Is a report formal or informal
- Jasper halekas
- Ready mades
- Property specification language
- Adventures of jasper woodbury
- Jasper clinical research
- Jasper johns pop art
- Jasperassistant
- Sardius stone
- Jasper johns nationality
- Jasper de roos
- Jasper private equity
- Jasper design automation
- Prof jasper imungi
- Dr irina jasper
- Jasper marino
- Halekas
- Jasper city schools employment
- Jeff jasper
- Ikea jasper
- Jasper meaning in the bible
- Jasper oudshoorn
- What worries mrs. ramsay about jasper
- Jasper en van diepen
- Keen coleman
- Jasper report parameter
- Jasper roos
- Jasper bongertz