鍍金池/ 教程/ Java/ JasperReport環(huán)境設(shè)置
JasperReports報(bào)表數(shù)據(jù)源
JasperReport查看和打印報(bào)告
JasperReports報(bào)表表達(dá)式
JasperReport報(bào)表設(shè)計(jì)
JasperReports報(bào)表區(qū)段
JasperReports報(bào)表字段
JasperReports報(bào)表變量
JasperReport生命周期
JasperReport填充報(bào)表
JasperReport編譯報(bào)表設(shè)計(jì)
JasperReport報(bào)表參數(shù)
JasperReports入門,JasperReports是什么?
JasperReports報(bào)表組
JasperReport導(dǎo)出報(bào)表
JasperReports教程
JasperReport環(huán)境設(shè)置

JasperReport環(huán)境設(shè)置

JasperReport是一個(gè)純Java庫(kù),而不是一個(gè)獨(dú)立的應(yīng)用程序。它不能單獨(dú)運(yùn)行,因此它需要被嵌入到另一個(gè)客戶端或服務(wù)器端的Java應(yīng)用程序。因?yàn)樗腔贘ava,它可以在任何支持Java的平臺(tái)(JDK1.3及以上)上運(yùn)行。所有JasperReports的功能是聚集在一個(gè)JAR文件中,一般名稱為:jasperreports-x.x.x.jar。JasperReport庫(kù)鏈接:這個(gè)JAR文件必需及可選庫(kù)(壓縮文件)可以從網(wǎng)站上下載。下載最新的版本。

ZIP文件包含JasperReports源代碼,相關(guān)JAR和大量的實(shí)例演示JasperReport功能以及JasperReportsJAR文件。

JasperReport環(huán)境配置

要開(kāi)始創(chuàng)建我們需要設(shè)置環(huán)境準(zhǔn)備。解壓縮下載的JasperReport ZIP文件到任何位置(在我們的例子中,我們已經(jīng)提取到C: oolsjasperreports-5.0.1)。解壓縮文件的目錄結(jié)構(gòu)如下圖示:

Jasper directory structure

下面是所有目錄的詳細(xì)信息:

  • build: 包含已編譯的JasperReport類文件。

  • demo: 包含演示JasperReports功能幾個(gè)方面的各種例子。

  • dist: 包含的JasperReports-x.x.x.jar文件。將這個(gè)JAR文件添加到CLASSPATH。

  • docs: 包含了JasperReports的文檔的本地副本。

  • lib: 包含所需的所有JAR文件,這樣既可以建立JasperReports,并把它用在我們的應(yīng)用程序。

  • src: 包含了JasperReports的源代碼。

  • build.xml: Ant構(gòu)建文件構(gòu)建JasperReports的源代碼。如果不打算修改JasperReports,并不需要使用這個(gè)文件,因?yàn)镴asperReports發(fā)布成已編譯的形式。

  • changes.txt: 一個(gè)文本文件解釋的JasperReports類庫(kù)的當(dāng)前和以前版本之間的差異。

  • license.txt: 包含LGPL(較寬松通用公共許可證)許可的全文文本文檔。

  • readme.txt: 一個(gè)文本文件包含有關(guān)如何建立和執(zhí)行提供的示例說(shuō)明。

基本上,我們只使用jasperreports-x.x.x.jar 在lib目錄下的路程和JAR下生成報(bào)表。由于Jasper報(bào)表作為一個(gè)開(kāi)源的工具,如果任何缺陷或錯(cuò)誤執(zhí)行的jasperreports-x.x.x.jar中是公認(rèn)的,我們可以修復(fù)它??并使用build.xml文件再次生成的JAR文件。

設(shè)置CLASSPATH

要使用JasperReport,需要設(shè)置下列文件到CLASSPATH中:

  • jasperreports-x.x.x.jar, 其中x.x.x是JasperReports的版本。此目錄下找到 C: oolsjasperreports-x.x.xdist).

  • lib子目錄中的所有JAR文件 (C: oolsjasperreports-x.x.xlib).

在安裝的時(shí)候,我們使用JasperReport5.0.1版本。在“我的電腦”右鍵單擊并選擇“屬性”,“高級(jí)”選項(xiàng)卡下單擊“環(huán)境變量”按鈕?,F(xiàn)在有了這個(gè)更新的“路徑”變量添加:C: oolsjasperreports-5.0.1distjasperreports-5.0.1.jar;C: oolsjasperreports-5.0.1lib;. 現(xiàn)在,可以創(chuàng)建報(bào)表了。

在本教程中的所有例子中,已經(jīng)使用Ant任務(wù)來(lái)生成報(bào)告。構(gòu)建文件會(huì)自己負(fù)責(zé),包括所有所需的JAR生成報(bào)告。因此,設(shè)定上述的CLASSPATH只會(huì)幫助生成報(bào)表,而無(wú)需使用ANT。

生成安裝

在本教程中的所有例子:

  • 使用簡(jiǎn)單的文本編輯器寫入。

  • 已保存的目錄下 C: oolsjasperreports-5.0.1 estsrccomyiibai.

  • 已編譯并從命令提示符下執(zhí)行,使用Apache Ant。我們將使用它我們將在Ant build.xml文件中的后續(xù)章節(jié)中導(dǎo)入abaseBuild.xml文件。將此文件保存到C: oolsjasperreports-5.0.1 est. 以下是baseBuild.xml文件的內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>
<project name="JasperReportExample" basedir=".">
   <description>Previews our JasperReport XML Design</description>
   <property name="file.name" value="jasper_report_template" />
   <!-- Directory where the JasperReports project file was extracted
   needs to be changed to match the local environment -->
   <property name="jasper.dir" value="../" />
   <property name="dist.dir" value="${jasper.dir}/dist" />
   <property name="lib.dir" value="${jasper.dir}/lib" />
   <property name="src.dir" value="src" />
   <property name="classes.dir" value="classes" />
   <property name="main-class" value="com.yiibai.HelpMe" />

   <path id="classpath">
      <pathelement location="./" />
      <pathelement location="${classes.dir}" />
      <fileset dir="${lib.dir}">
         <include name="**/*.jar" />
      </fileset>
      <fileset dir="${dist.dir}">
         <include name="**/*.jar" />
      </fileset>
   </path>

   <target name="compile" depends="clean-sample">
   <mkdir dir="${classes.dir}"/>
   <javac srcdir="${src.dir}" destdir="${classes.dir}"
      classpathref="classpath" />
   </target>

   <target name="run" depends="compile">
      <echo message="Running class : ${main-class}"/>
      <java fork="true" classname="${main-class}">
         <classpath>
            <path refid="classpath" />
         </classpath>
      </java>
   </target>
   <target name="clean-sample">
      <delete dir="${classes.dir}" />
      <delete file="./${file.name}.jasper" />
      <delete file="./${file.name}.jrprint" />
   </target>
</project>

此文件具有所有必需的目標(biāo),比如清除目錄,編譯java文件,并執(zhí)行類文件。

以下是baseBuild.xml提到的細(xì)節(jié)不同的目錄。假設(shè)當(dāng)前目錄是 C: oolsjasperreports-5.0.1 est):

  • jasper.dir: 是 C: oolsjasperreports-5.0.1 directory

  • lib.dir: 是 C: oolsjasperreports-5.0.1lib directory

  • src.dir: 是 C: oolsjasperreports-5.0.1 estsrc

  • classes.dir: 是 C: oolsjasperreports-5.0.1 estclasses

  • main-class: com.yiibai.HelpMe. 這個(gè)類執(zhí)行,如果沒(méi)有類文件名是在命令行中通過(guò)一個(gè)簡(jiǎn)單的類。將此文件保存到 C: oolsjasperreports-5.0.1 estsrccomyiibai.

package com.yiibai;

public class HelpMe {
    public static void main(String[] args) {
        System.out.println("This is the default class executed."
            + "Please pass the fully qualified class"
            + " name to be executed as command line"
            + " parameter, for example,"
            + " com.yiibai.HelpMe ");
    }
}

Jasper 管理類

還有的類,它們將被用來(lái)編譯JRXML報(bào)表設(shè)計(jì),以填補(bǔ)報(bào)表,打印報(bào)表,導(dǎo)出為PDF,HTML和XML文件,查看生成的報(bào)表和報(bào)表設(shè)計(jì)序號(hào)。

Manager Classes這些類的列表是:
  • net.sf.jasperreports.engine.JasperCompileManager: 用于編譯JRXM