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

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.

主站蜘蛛池模板: 长泰县| 黎城县| 达州市| 芷江| 张掖市| 林芝县| 潜山县| 吉安县| 鲜城| 淳安县| 天全县| 门源| 南安市| 四川省| 昂仁县| 孝义市| 修武县| 石景山区| 县级市| 寿宁县| 九寨沟县| 金塔县| 婺源县| 瑞昌市| 庆安县| 无为县| 新巴尔虎左旗| 平罗县| 额济纳旗| 隆回县| 巫溪县| 微山县| 合肥市| 广灵县| 金川县| 蒙阴县| 锡林郭勒盟| 蓝山县| 南皮县| 平武县| 铜山县|