官术网_书友最值得收藏!

Typical workflow

The following flow chart illustrates the typical workflow followed when creating reports with JasperReports.

Typical workflow

When working with JasperReports, the first step is to create a report template as an XML file. XML report templates can be handcoded or generated by a graphical report designer. Even though JasperReports report templates are XML files, by convention template filenames are given an extension of .jrxml. JasperReports XML templates are commonly referred to as JRXML files, which is the term we will use in this book.

Let's take a look at what a typical JRXML file looks like:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jasperReport PUBLIC "http://JasperReports//DTD Report Design//EN""http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="simple_template">
  <title>
    <band height="50">
    </band>
  </title>
  <pageHeader>
    <band height="50">
    </band>
  </pageHeader>
  <columnHeader>
    <band height="30">
    </band>
  </columnHeader>
  <detail>
    <band height="100">
    </band>
  </detail>
  <columnFooter>
    <band height="30">
    </band>
  </columnFooter>
  <pageFooter>
    <band height="50">
    </band>
  </pageFooter>
  <lastPageFooter>
    <band height="50">
    </band>
  </lastPageFooter>
  <summary>
    <band height="50">
    </band>
  </summary>

</jasperReport>

This JRXML file illustrates the main elements of a JRXML file. All elements in the JRXML file are optional except for the root <jasperReport> element. This JRXML file, when compiled and filled, will generate an empty report, not very practical in its own right, but it can be used as a template for creating more useful templates. As can be seen in the example, each main element of the JRXML file contains a <band> element as its only child element. Bands contain the data that is displayed in the report. In the example, all the bands are empty. In real JRXML files, bands contain child elements used to position, format, and display the actual report data, both textual and graphical. There are commercial and open source visual design tools that can aid in the development of JRXML files. One such tool, iReport, the official JasperReports graphical report designer, is covered in detail in Chapter 10, Graphical Report Design with iReport.

JRXML files are "compiled" into a JasperReports native binary template either programmatically by calling the appropriate methods on the JasperReports class library, or by using a custom ANT task provided by JasperReports. The resulting compiled template is commonly known as the jasper file and is typically saved to disk with a .jasper extension. The jasper file is then used to generate the final report by providing it with its required data. This process is known as filling the report. A JRXML file has to be compiled only once, while the generated jasper file can be filled as many times as necessary to create and display reports.

The filled reports can be saved to disk in a JasperReports' native format. Reports saved in this format are known as JasperPrint files. The JasperPrint file names have a .jrprint extension. JasperPrint files can only be viewed with a JasperReports specific viewer. The JasperPrint files can be exported to other formats so that they can be opened with commonly available tools like PDF viewers and word processors. Exporting to other formats is discussed in detail in Chapter 9, Exporting to Other Formats.

主站蜘蛛池模板: 拜泉县| 闸北区| 宁津县| 多伦县| 曲松县| 京山县| 法库县| 兴义市| 烟台市| 蓝山县| 铜山县| 辛集市| 安丘市| 西青区| 蒙阴县| 晴隆县| 石渠县| 响水县| 浪卡子县| 延长县| 齐齐哈尔市| 山阴县| 嘉禾县| 湟源县| 积石山| 葵青区| 通州市| 葫芦岛市| 阳朔县| 景泰县| 古交市| 斗六市| 乌恰县| 石家庄市| 津南区| 托克逊县| 阳城县| 平塘县| 弥勒县| 云南省| 隆德县|