Jasperreport和iReport详细功能介绍

Jasperreport和iReport详细功能介绍
Jasperreport和iReport详细功能介绍

JasperReport和IReport报表开发的功能介绍

目录

1 简介 (4)

2 JasperReport和IReport的安装与配置 (4)

2.1 JDK的下载、安装和配置 (4)

2.2 ANT的下载、安装和配置 (5)

2.3 Jasperreport的下载、安装和配置 (6)

2.4 iReport的安装和配置 (7)

3 主要功能和实现过程 (7)

3.1 XML解析 (8)

3.2编译报表设计 (8)

3.3 Report Design 预览 (9)

3.4报表填充 (10)

3.5查看报表 (11)

3.6打印报表 (11)

3.7导出报表 (11)

3.8对象的载入和保存 (11)

4 iReport的使用指南 (12)

4.1一个简单的报表 (12)

4.2报表预览 (13)

4.3使用数据库的数据生成报表 (15)

5 报表设计 (18)

5.1DTD Reference (18)

5.2XML编码 (19)

5.3报表属性 (19)

6 报表数据 (21)

6.1表达式 (21)

6.2参数 (22)

6.3数据源 (24)

6.4查询报表 (25)

6.5字段 (26)

6.6变量 (28)

7 Report Sections (31)

7.1 Main Report Sections (31)

7.2 数据分组 (36)

8 脚本程序 (38)

9 报表元素 (38)

9.1文本元素 (40)

9.2图像元素 (45)

9.3超链接 (48)

9.4元素组 (48)

10 子报表 (49)

10.1子报表参数 (50)

10.2子报表数据源 (50)

11高级JasperReports应用 (50)

11.1 XML报表的导入和设计 (50)

11.2实例化数据源接口 (50)

11.3自定义查看器 (50)

11.4导出新的格式 (51)

1 简介

Jasperreport是一款报表打印组件,是开放源代码组织https://www.360docs.net/doc/6a9378324.html,中的一个java报表打印工程,是一款功能强大的报表生成工具。它既可以将报表内容在显示器上输出,也可以通过打印机打印出来,同时它还支持使用PDF、HTML和XML等多种文件格式进行存储。在不久的将来,诸如CSV、XLS、RTF等格式也将会被兼容。

iReport也是开源组织https://www.360docs.net/doc/6a9378324.html,中的一款免费软件,其主要作用是用来以可视化的方式设计生成JasperReport所使用的报表格式文件,因为JasperReport本身并未提供很好的可视化报表设计工具,iReport的出现正好弥补了这个缺陷。

2 JasperReport和IReport的安装与配置

2.1 JDK的下载、安装和配置

下载

JDK的最新版本可以从SUN 公的官方网站上下载得到,网址为https://www.360docs.net/doc/6a9378324.html, ,JDK共分为3 个版本,J2ME,J2SE,J2EE,因为是在计算机上使用,我们需要下载使用 J2SE SDK,如果您的计算机是用来做软件开发,需要下载J2SE SDK,如果是用来运行已经编译好的JAVA 程序的,可以只下载J2SE JRE 即可。

下载JDK 时SUN 公司会要求你同意一个JDK 的使用许可协议,选接受协议后,会出

现选择适合不同的操作系统平台使用的JDK 版本选择的界面,您可以根据自己使用的操作系统平台选择适合的JDK 版本。

安装

以Windows 平台的安装为例,在安装的过程中一路Next 即可,同时请注意记录下JDK 安装后的目录,稍后进行配置时要用到。

配置

以在Windows xp平台配置J2SE SDK 为例,鼠标右键点击桌面上的“我的电脑”图标,在弹出的菜单中选择属性,选择“高级”选项,选择“环境变量”。

点击“系统变量”下的新增按钮,在对话框中的变量名处输入大写的JAVA_HOME,在变量值处输入的JDK 安装目录。

点击“确定”完成第一步的配置,接下来以同样的方法配置系统环境变量CLASSPATH,在CLASSPATH的变量值处输入%JAVA_HOME%\lib\tools.jar; %JAVA_HOME%\lib\dt.jar,当然,也可以直接输入绝对路径,但建议使用%JAVA_HOME%的方式。

再接下来还要修改系统环境变量PATH,增加%JAVA_HOME%\bin 目录。

至此JDK 的配置也完成.

打开一个命令行窗口,键入set classpath 与set java_home 应该可以看到正确的配置信息,同时,输入javac -version 看系统能否找到JAVA 的编译器。

2.2 ANT的下载、安装和配置

ant 是个很好用的工具,虽然对于JasperReport 和iReport 来说ant 并不是必须的,但还是建议以使用ant 的方式来应用。

ANT的下载和安装

ant 是apache 组织的一个子项目,可以从https://www.360docs.net/doc/6a9378324.html, 下载得到,Windows 平台

的可以下载ZIP 格式的安装文件,下载完成以后解压缩到某个目录,建议使用根目录下的直接子目录作为ant 解压缩以后目录,ant 无需安装,解压缩文件以后就算安装完成。

Ant的配置

与设置JDK相同的操作过程打开系统环境变量设置窗口,增加ANT_HOME环境变量,变量值为解压缩以后的ant 所在目录

在系统的环境变量Path 中增加%ANT_HOME%\bin 目录

新开一个命令行窗口,输入ant 后如果出现如下图所示内容即算正确完成ant 的配置。

2.3 Jasperreport的下载、安装和配置

Jasperreport的下载和安装

因为JasperReport 是https://www.360docs.net/doc/6a9378324.html, 的开源项目,最新的JasperReport 版本可以在https://www.360docs.net/doc/6a9378324.html, 中找到,同时,为了方便世界各国程序员下载,https://www.360docs.net/doc/6a9378324.html, 还设有许多的镜像站点供你选择。

强烈建议下载jasperreport 的source.zip,因为这里面包含了很多的示例程序,对于想深入研究jasperreport 的人来说会有很大的帮助。如果不想对JasperReport 有太多的深入了解,只需要下载.jar 文件就能正常开发应用了。

没有必要单独为JasperReport.jar 文件设置目录,建议放在系统中%JAVA_HOME%\lib\

目录中。

Jasperreport的配置

将JasperReport-x.x.x.jar 文件添加到操作系统的环境变量ClASSPATH 中即可完成JasperReport 的配置。

2.4 iReport的安装和配置

iReport的安装

iReport 在Windows 平台也是以.zip 形式的文件提供的,直接解压缩后就算完成了安装

如果是2.x版的,且您决定以ant 的方式运行iReport 程序,需要修改一下iReport 目录中的ireport.bat 文件中的内容,第一次运行ireport.bat 会生成javadoc,在确定已正确生成javadoc 文件后可以将生成doc 的那一段注释掉以便以后可以快速的启动iReport 程序。

3.0 版无需修改ireport.bat 文件。

i Report 的使用

在有ant 环境的下运行iReport,直接运行iReport 目录中的ireport.exe 即可。

在没有ant 的环境下运行iReport,2.X 版本使用iReport 目录中的noant 目录中的startup.bat 运行,3.0 版本使用bin 目录中的startup.bat 运行。

3 主要功能和实现过程

现在我们将对XML报表设计进行分析,编译,装填数据,预览结果和导出到其他格式的过程。

Jasperreport的实例

下面是Jasperreport工具,将XML报表转变成的各种类型报表的流程图:

3.1 XML解析

JasperReport使用SAX2.0 API对XML文件进行解析。然而,这并不是必须的,用于可以在执行其自行决定使用哪一种XML解析器。

JasperReport使用org.xml.sax.helpers.XMLReaderFactory类的createXMLReader()来获得解析器实例。在这种情况下,就像在SAX2.0文档中说的那样,在运行期,把Java 系统属性org.xml.sax.driver的值设定为SAX driver类的全限定名是必要的。

设置系统属性有两种方法:

第一种方法是在你启动Java虚拟机的时候,在命令行窗口使用-D开关:

java -Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser MySAXApp sample.xml

在JasperReport提供的所有例子中,都采用ANT构建工具来执行不同的任务。我们通过使用内置的 task中的元素来提供这一系统属性;

第二种设置系统属性的方法是使用

https://www.360docs.net/doc/6a9378324.html,ng.System.setProperty(String key, String value)

System.setProperty(“org.xml.sax.driver”,

“ org.apache.xerces.parsers.SAXParser”);

Jsp/compile.jsp和web-inf/class/servlets/CompileServlet.java文件提供了这方面的例子。

3.2 编译报表设计

为了生成一个报表,用户首先需要完成报表的设计,生成方法或采用直接编辑XML文件,或通过程序生成一个net.sf.jasper.engine.design.JasperDesign对象。在此,主要采用编辑XML文件的方法,因为这种方法在目前是使用JasperReport类库的最好的方法。

XML报表设计是JasperReport用来生成报表的初级材料。这是因为XML中的内容需要被编译并载入到JasperDesign对象中,这些对象将在报表引擎向其中填入数据之前,必须经过编译过程。

报表编译过程的主要目的是生成并装载含有所有报表表达式的类的字节码。这个动态生成的类将会被用来在装填数据,并在给所有报表表达式求值的时候使用。具体例子是,如果你用iReport生成一个报表名字叫SimpleSheetTest,它的XML设计文件名叫SimpleSheetTest.jrxml,同时和它在同一目录下iReport会自动生成一个文件名为SimpleSheetTest.java,里面主要是一些报表元素,如Field,Parameters,Variables的定义,以及一些求值表达式。当然,像上面提到的,这个文件在你直接使用JasperReport API 的时候是看不到的,因为它是在执行期生成的一个Class。要想看到它的办法是:在IDE (JBuilder,Eclipse)中单步执行程序,在报表打印的阶段,你将能跟踪到这个类,它的名字就是“你的报表名.java”,按上面的例子就是SimpleSheetTest.java,这和iReport 是一致的。当然也可以像下面说的那样,到生成这个类的临时目录里找到它。

在这个类生成过程之前,JasperReport引擎需要验证报表设计的一致性,哪怕存在一处验证检查失败都不会继续运行下面的工作。

对于这个包含了所有报表表达式的类的字节码,我们至少需要关心三个方面的内容:临时工作目录、Java 编译器的使用、Classpath

为了能够编译Java源文件,这个文件必须被创建并且被保存到磁盘上。Java编译过程的输出是一个.class文件,这个包含所有报表表达式的类在这个工作目录里被创建并编译,这也是为什么JasperReport需要访问这个临时目录的原因。当报表的编译过程结束之后,这些临时的类文件将被自动删除,而生成的字节码将保存在

net.sf.jasper.engine.JasperReport对象中。如果需要的话,这个类可以将自己序列化并保存到磁盘上。这就是iReport的做法。

缺省情况下,这个临时工作目录就是启动JVM时的当前目录,这却取决于JVM的系统属性user.dir。通过更改系统属性https://www.360docs.net/doc/6a9378324.html,pile.temp,用户可以很容易更改这个工作目录。在Web环境下,特别是当你不想让含有启动Web Server的批处理文件的目录和报表编译过程的临时工作目录混在一起的时候,修改这个属性就可以了。

上面提到的第二个方面涉及用来编译报表表达式类的Java编译器。首先,报表引擎将试图使用sun.tools.javac.Main类来编译Java源文件。这个类包含在tools.jar中,当且仅当这个jar文件在JDK安装目录下的bin/目录中,或在classpath中时,sun.tools.javac.Main 才能正常使用。

如果JasperReport不能成功装载sun.tools.javac.Main文件,程序将动态执行java 编译过程,就像我们通常用命令行那样,使用JDK安装目录下的bin/目录下的javac.exe。这就是为什么将JDK安装目录/lib/下的tools.jar文件copy到JasperReport工程的lib/目录下是一个可选的操作(optional operation)。如果tools.jar不在classpath中,JasperReport将显示错误信息并继续上面提到的操作。

当编译Java源文件的时候,最重要的事情莫过于classpath。如果Java编译器不能在指定的classpath中找到它试图编译的所有相关类的源文件,则整个过程将失败并停止,错误信息将在控制台显示出来。同样的事情也将发生在JasperReport试图编译报表表达式类的时候。所以,在runtime为编译过程提供正确的classpath是非常重要的。例如,我们我们需要确认在classpath中,我们提供了在报表表达式中可能用到的类(custom class)。

在这个方面也有一个缺省的行为。如果没有为编译report class特殊指定classpath,引擎将会使用系统属性java.class.path的值来确定当前的JVM classpath。如果你指定了系统属性https://www.360docs.net/doc/6a9378324.html,pile.class.path的值,你可以用你定义的classpath来覆盖缺省行为。

大多数情况下,编译一个report只需要简单的调用JasperReport类库中的https://www.360docs.net/doc/6a9378324.html,pileReport(myXmlFileName);即可。调用之后将生成编译好的report design并存储在.jasper文件中,这个文件将会保存在和提供XML report design 文件相同的目录中。

3.3 Report Design 预览

JasperReport类库并没有提供高级的GUI工具来辅助进行设计工作。但是目前已经有至少4个project试图提供这样的工具。然而,JasperReport本身提供了一个很有用的可视化组件来帮助报表设计者在编译的时候预览报表设计(其实不如直接用IReport方便)。net.sf.jasper.view.JasperDesigner是一个基于Swing的Java应用程序,它可以载入并显示XML形式或编译后的报表设计。尽管它不是一个复杂的GUI应用程序,缺乏像拖拽可视化报表元素这样的高级功能,但是它仍然是一个有用的工具。所有JasperReport工程提供的例子都利用了这个报表查看器。

如果你已经安装了ANT,想要查看一个简单的报表设计,你只需要到相应的文件夹下输入如下命令:

ant viewDesignXML 或者 ant viewDesign

如果你没安装ANT,要达到上面的效果就不是很容易,因为JasperReport本身需要一些其他辅助的jar包(在JasperReport安装目录/lib下),在运行的时候,你需要把这些jar包都包含到你的classpath里面,并且正确设计系统属性,如上面提到的org.xml.sax.driver。我可以展示一下在windows下的例子:

>java -classpath ./;../../../lib/commons-digester.jar;

../../../lib/commons-beanutils.jar;../../../lib/commons-collections.jar;

../../../lib/xerces.jar;../../../lib/jasperreports.jar

-Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser

dori.jasper.view.JasperDesignViewer -XML -FFirstJasper.xml

3.4报表填充

报表填充过程是JasperReport library最重要的功能。它体现了这个软件最主要的目的,因为这一过程可以自由的操作数据集,以便可以产生高质量的文档。有3种材料需要装填过程中作为输入提供给JasperReport:report design、参数、数据源

这一过程的输出通常是一个单一的最终要被查看,打印或导出到其他格式的文档。要进行这一过程,我们需要采用net.sf.jasper.engine.JasperFillManager类。这个类提供了一些方法来让我们填充报表设计,report design的来源可以是本地磁盘,输入流,或者直接就是一个已存在于内存中的net.sf.jasper.engine.JasperReport类。输出的产生是于输入类型相对应的,也就是说,如果JasperFillManager接到一个report design的文件名,填充结束后生成的report将会是一个放在磁盘上的文件;如果JasperFillManager收到的是一个输入流,则生成的report将会被写到一个输出流中。

有些时候,这些JasperFillManager提供的方法不能满足某些特定的应用的要求,例如可能有人希望他的report design被作为从classpath中得到的资源,并且输出的报表作为一个文件存放在一个指定的磁盘目录下。遇到这种情况时,开发人员需要考虑在将报表设计传递给报表装填过程之前,用net.sf.jasper.engine.util.JRLoader类来装载report design对象。这样,他们就能获得像报表名这样的report design属性,于是开发者就能生成最终文档的名字,并将它存放到所需的位置上。

在现实中,有许多报表装填的情境,而装填管理器仅试图覆盖其中最常被使用到的部分。然而对于想要自己定制装填过程的人来说,只要采用上面所说的方法,任何开发者都可以达到满意的结果。

报表参数通常作为java.util.Map的value提供给装填管理器,参数名为其键值。

作为装填过程所需的第三种数据源,有如下两种情况:

通常,引擎需要处理net.sf.jasper.engine.JRDataSource接口的一个实例,通过这个实例,引擎可以在装填过程中获取所需数据。JasperFillManager提供的方法支持所有的JRDataSource对象。

然而,这个管理器还提供一些接受java.sql.Connection对象作为参数的方法集,来取代所需的数据源对象。这是因为在很多情况下,报表生成所需的数据都来源于某个关系型数据库中的表。

在报表中,用户可以提供SQL查询语句来从数据库中取回报表数据。在执行期,engine 唯一需要做的是获得JDBC connection对象,并使用它来连接想要连接的数据库,执行SQL 查询并取回报表数据。在后台,引擎将使用一个特殊的JRDataSource对象,但是它对于调用它的程序来说是透明的。

JasperReport工程提供了相关的例子,它们采用HSQL数据库服务器(在工程文件中,有一个相应的文件夹),要运行这些例子你需要首先启动该服务器,方法是:在/demo/hsqldb 目录下输入如下命令:>ant 或者 >ant runServer

没装ANT就麻烦点:>java -classpath ./;../../lib/hsqldb.jar org.hsqldb.Server

一下代码片断显示了query例子是如何装填数据的:

//Preparing parameters

Map parameters = new HashMap();

parameters.put("ReportTitle", "Address Report");

parameters.put("FilterClause", "'Boston', 'Chicago', 'Oslo'");

parameters.put("OrderClause", "City");

//Invoking the filling process

JasperFillManager.fillReportToFile(fileName, parameters, getConnection());

3.5 查看报表

报表填充阶段的输出通常是一个JasperPrint对象,如果把它保存在磁盘上,通常以一个.jrprint文件的形式存在。JasperReport拥有一个内置的查看器,用来查看用内置的XML导出器获得的XML格式的报表文件。这个查看器就是以前提到过的net.sf.jasper.niew.JRViewer,用户可以通过继承这个类来定制自己所需的查看器。JasperReport工程中自带的例子webapp中,你可以阅读JRViewerPlus类的代码来获取进一步内容。

3.6 打印报表

JasperReport类库的主要目标,就是生成可打印的文档。而且多数应用程序生成的报表都是需要打印到纸张上。我们可以用net.sf.jasper.engine.JasperPrintManager来打印JasperReport生成的文档。当然,报表也同样可以在被导出到其他格式如PDF,HTML之后再被打印。通过JasperPrintManager提供的方法,我们可以打印整个文档,打印单个文档或打印某一范围内的文档,可以显示打印对话框也可以不显示。下面的例子演示了不显示对话框,打印整个文档的方法:JasperPrintManager.printReport(myReport,false);

3.7 导出报表

在一些应用程序环境下,将JasperReport生成的文档从其特有的格式导出到其他更为流行的格式如PDF,HTML是非常有用的。这样一来,其他人就可以在没有安装JasperReport 的情况下查看这些报表,特别是当这些文档要通过网络发送出去的时候。

JasperReport提供了JasperExportManager类来支持此项功能。这项功能将会在以后不断加入对新的格式的支持。目前,JasperReport主要支持导出PDF,HTML和XML类型的文档,下面是导出的代码片断:JasperExportManager.exortReportToHtmlFile(myReport);

注意:想要将自己的报表导出到其他格式的用户,需要实现JRExporter的接口,或继承相应的JRAbstractExporter类。

3.8 对象的载入和保存

当使用JasperReport的时候,你经常会与序列化的对象,如以编译的报表设计,或已生成的报表打交道。有时,你需要手动载入从不同的source如input stream或你用类库核心功能产生的序列化类。JasperReport提供了两个特殊的工具类来提供上述操作的能力,这些类通常供报表引擎自己使用:

net.sf.jasper.engine.util.JRLoader

net.sf.jasper.engine.util.JRSaver

第一个类提供了一些方法让我们能够从不同类型的数据源如文件,URL,input stream 和classpath里面获取序列化对象。最令人感兴趣的方法是loadObjectFormLocation(String)。它已经在上一章中介绍过了,这里不再赘述。

与上面的对象载入工具相反的部分是JRSaver类,它可以帮助程序员将自己的类序列化之后存放到本地磁盘或通过Output Stream发送到网络上去。

有时,开发人员可能想要载入已经生成好的report,或最终的已经被导出到XML格式的JasperReport文档,这与上面所说的直接load序列化对象有所不同。这时,我们需要载入的是将载入的XML内容进行编译,并生成JasperPrint对象,而并非仅仅是载入序列化对象。这时,我们可以通过net.sf.jasper.engine.xml.JRPrintXmlLoader类的一些静态方法,通过编译从XML文件中读取的内容构建出一个位于内存中的文档对象。

4 iReport的使用指南

4.1一个简单的报表

如上面左图所示新建一个文档,如右图设置报表的名称、大小等属性。

依照上图的标识,分别设计报表的各部分,可以通过以下快捷方式来插入图形、静态文字、动态文字图片等元素,设计如下图

报表设计完毕,选择菜单栏中的“建立”下拉菜单,选择其中“编译”,对报表尽进行编译,如有错误,会在底端提示,若无错误,则生成.Jrxml文件。编译成功之后,选择“执行报表”,进行预览。

4.2 报表预览

Ireport默认是用其自带的iReport JasperViewer进行预览。我们可以选择其他的预览方式,通过选择菜单栏中的“Option”下拉菜单,选择其中的“选项”,选择External Programs选项卡,如下图所示,对各个预览工具进行配置

后选择“执行报表”,就可以用相应的应用程序对其进行预览。

4.3 使用数据库的数据生成报表

4.3.1连接数据库

选择菜单栏中的“data”下拉菜单,选择“连结/资料来源”,

选择“New”新建一个连接,配置如下图,其中experiment是已建立的数据库名称

单击“Test”,测试数据库连接是否成功,若成功,有以下对话框

若不成功,有类似于下图的相应的对话框

测试成功,单击“save”保存新建连接。

4.3.2设置SQL查询语句

选择菜单栏中的“data”下拉菜单,选择“报表查询”,

之后在相应地方编写SQL语句。编写完毕,单击“OK”保存并退出编写。

4.3.3字段在报表设计器中的使用

点击工具栏中的在报表中的“Details”段中用鼠标拖拽到适合的大小,右击该字段框,选择属性,在选择Text Fiel选项卡,如下图:

选中Text Field 项,如果没有设置正确的字段名称,则Textfield expression 中的内容将显示

蓝色,手工修改Textfield expression 中的内容为正确的字段名称,格式为$F{字段名称},正确修改后将变为绿色显示。

4.3.4编译与预览带有字段的报表

对下面报表进行编译,其中数据已经在数据库中预先设好

编译报表可以选择菜单栏中“建立”下拉菜单中的“编译”,也可以直接点击工具栏中的

图标,如果编译过程正确完成,iReport 设计器的下面会显示如下内容:

带有字段的报表进行预览有两种方式,一种是不使用数据库中的数据,默认所有字段值为null 的方式,预览方法为选择“建立”菜单中的“执行报表”,也可以直接点击工具栏中的图标;第二种方式为使用数据库中的数据的方式,预览方法为选择“建立”菜单中的“执行报表(使用动态连接)”,也可以直接点击工具栏中的图标。下图进行预览:

5 报表设计

报表设计体现了一个模板,JasperReport引擎利用这个模板将同台生成的内容传递给打印机,屏幕或Web。存储在数据库中的数据在报表装填的过程中被组织起来,根据已有的报表设计来获得可以进行打印的,面向页面的(page oriented)文档。

总而言之,一个报表设计包含了所有的结构相关信息和将数据提供给报表所涉及的各个方面。这些信息涉及将在文档中显示出来的各种text或图像元素的位置和内容,自定义计算(custom calculation),数据组织,报表生成时的数据操作,等等。

报表设计通常都定义在一个拥有特殊格式的XML文档中,并且在被填充数据之前要经历JasperReport的编译过程。然而JasperReport也允许用户通过JasperReport提供的API 构造in-memory报表对象,例如noxmldesign就是很好的例子。

5.1 DTD Reference

当使用XML文件进行报表设计的时候,JasperReport将使用内置的DTD文件来验证其受到的XML内容的有效性。如果XML验证通过,则说明所提供的报表设计符合JasperReport 所需要的XML结构和语法规则,其引擎能够生成经过编译的report design。

有效的XML文档总是在验证时指向JasperReport的内部DTD文件。如果没有提供DTD 文档的引用,报表的编译过程将会突然结束。这对所有人来说都是一个负担,因为DTD引用通常是相同的,并且这些引用可能会简单的被从以前的报表设计中copy过来。在一开始,你需要将这个引用从给定的例子中copy过来。

正如以前说的一样,报表引擎仅能识别指向其内部DTD文件的的引用。你不能随便从类库的源文件中将那些DTD文件copy到别的地方,再在你的报表设计文件中指向你copy的那些DTD文件。如果你想那样做的话,你将需要调整类库中某些类,包括dori.jasper.engine.xml.JRXmlDigester类的某些代码。如果你遇到像引擎无法找到其内部的DTD文件而导致的无法载入资源的问题,请确定你已经在使用外部DTD文件之前排除了所有可能发生的情况。遇到这样的问题是不太可能的,因为资源载入机制会随着时间不断改进。

JasperReport只有两种合法的XML报表设计的DTD引用,他们是:

或者:

XML报表设计的根元素是,下面是一个普通的JasperReports XML报表设计文件的样子:

...

前三点描述了该报表设计的属性和设置,下面省略的部分则描述了各种报表设计要素如报表参数、字段、变量、组和报表栏等。

5.2 XML 编码

当要生成不同语言的XML报表设计的时候,在XMl文件的首部的编码属性需要特别关注一下。缺省情况下,如果这个属性的值没被订制,则XML解析器将会使用“UTF-8”作为XML 文件的编码格式。这一点是非常重要的,因为报表设计通常包含了静态的本地化文本。

对于大多数西欧语言来说,ISO-8859-1编码,也就是我们常说的LATIN1将会很好的处理如法语中重音符号的显示问题。

在编辑XML文件的时候,要找到某种特殊语言的编码类型,你可以查看XML document.FIXME。

5.3 报表属性

我们上面已经看到,XML报表设计的根元素。这一节我们将介绍报表设计对象的Property的细节以及这些属性所对应的XML attributes

报表名称

每一个报表都必须有一个名称。这个名称是相当重要的,因为类库需要它来生成文件,尤其是当编译,装填,导出报表的默认行为被使用的时候,这个名的作用更为重要。这个名称是以元素的name attribute的形式提供的,并且是强制必须填写。

列数

JasperReport允许生成每页的列数超过一列的报表,正如下面的图片,展示了拥有两列的报表:

默认情况下,报表引擎生成每页一列的报表。

打印顺序

对于拥有超过一列的报表,为其提供列将被以什么顺序填充是很重要的。你可以使用元素的printOrder attribute来进行设置。有如下两种情况:

●Verticaln Filling:这个选项将导致列是自顶向下被填充(printOrder=”Vertical”)●Horizontal filling:列将自左向右被填充(printOrder=”Horizontal”)

缺省设置将是printOrder=Vertical

页面大小

有两个attribute是用来提供要生成的文档大小的:pageWith,pageHeight。像所有其他显示元素位置和尺寸的attribute一样,这两个attribute是以像素为单位的。JasperReport采用Java默认的每英寸72点的设置。这意味着pageWith=”595”将大约是8.26英寸,这大概是A4纸的尺寸。

默认的纸张大小是A4纸:pageWith=”595” pageHeight=”842”

Page Orientation(默认设置为Portrait)

orientation属性用来设置文档打印格式是“Portrait”还是“Landscape”。JasperReport允许用户在从“Portrait”切换到“Landscape”的时候调整液面的宽度和高度。我们先看一个例子:我们假定要生成一个A4纸的报表,采用“Protrait”格式:

pageWidth=”595” pageHeight=”842” orientation=”Portrait”

如果我们决定用A4纸的“Landscape”布局,首先要调整相应的页面宽度和高度:

pageWidth=”842” pageHeight=”595” orientation=”Landscape”

这是因为JasperReport需要确切知道它所要绘制的报表页的宽度和高度,而不只看我们提供的orientation属性,至少在报表装填的时候是这样。orientation属性仅在报表打印时有用,来通知打印机或某些exporters页面的orientation设置。

页边距

一旦页面大小确定下来,用户就可以在生成报表的时候设定报表的边距。有四个属性来完成这项工作:topMargin,LeftMargin,bottomMargin和rightMargin。缺省的设置是上下边距20像素,左右边距30像素。

列宽和列间距(Column Size and Spacing)

ireport 5.1.0 教程之ireport快速入门文档

ireport5.1.0教程之ireport快速入门文档必要条件: iReport需要Sun Java2SDK1.4以上版本;为了能编译jasper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。如果你还想编译iReport 源代码,你还要安装Jakarta Ant version1.6以上版本。 硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要只少256Mb的内存和至少20Mb的磁盘空间。 下载: 你可以到SourceForge网站上的企业主页上下载最新发布的iReport,可能有几种不同的分类: iReport-x.x.x.zip这是官方的zip格式的二进制文件。 iReport-x.x.x.tgz这是官方的tar gz格式的二进制文件。 iReport-x-x-x-src.zip这是官方的包含源代码的zip格式的二进制文件。 x.x.x表明了iReport的版本号。每一种都包含必须使用的第三方的库和程序及附加文件,例如模板和一些html格式的基础教程。 如果你想要更多最新版本的源程序,你可以直接地连接CVS库。但必须要有一个CVS客户端(像CVS,JCVS或者WinCVS)。 如果你有CVS那就执行如下的命令行: cvs-d:pserver:anonymous@https://www.360docs.net/doc/6a9378324.html,:/cvsroot/ireport

login(目前好象无法连接) and then all on the same line… cvs-z3 -d:pserver:anonymous@https://www.360docs.net/doc/6a9378324.html,:/cvsroot/ireport co iReport2 这样CVS客户端就可以将iReport的所有文件下载到本地,包括所有的文档,库和所有有用的编译iReport的文件。 就使用其他CVS的用户来说,SourceForge网站也自制了详细的解释用来检出工程。 编译iReport: 这些源中包含一个build.xml文件,它是被Jakarta Ant用来编译和启动iReport和或用来创建不同类型的工程。 下载iReport-x.x.x-src.zip,解压缩到你指定的目录,例如: c:\devel(or/usr/devel on unix system)。打开命令提示符或shell,进入你解压的目录和iReport目录:C:\devel\iReport-0.3.2>ant iReport 如果这个源完整的存在与目录中,它将被编译进类中iReport就能直接启动。

JasperReport初级教程(2.0.3)图文详解

如何调用Java代码,请查看另一篇文章: JasperReport初级教程(2.0.3)调用Java代码_图文详解_绝对原创 如需转载,请注明出处,http://www.川江号子.cn 。 另,本人有Word电子文档格式,如需要,请联系本人:asima127@gmai https://www.360docs.net/doc/6a9378324.html, 由于有些图片以前是放在巴巴变上的,现在巴巴变不提供外链了,如果你愿意支付一定的费用,请访问该文档的购买地址: 【https://www.360docs.net/doc/6a9378324.html,/auction/item_detail-0db2-03c1768339f 915aec75afd6f1f49426b.jhtml】 1下载iReport iReport是一个可视化的报表模板设计工具,使用此工具能方便地对报表进行设计。在iReport中已经包含了jasperreports在运行时需要的jar文件,在项目中的lib目录中包含Jasperreports-***.jar即可,其中***为版本号,比如2.0.3。 下载地址:https://www.360docs.net/doc/6a9378324.html,/project/showfiles.php?group_id= 64348,此文档编写时版本为2.0.3,如图:

点击download出现以下界面: 可以看到提供了多种下载包,其中: ?iReport-2.0.3-src.zip:为iReport的源代码 ?iReport-2.0.3.tar.gz:为.tar.gz格式,一般用于Linux、Unix等非wi ndows系统 ?iReport-2.0.3-windows.installer.exe:为exe格式,一般用于windo ws系统 ?iReport-2.0.3.zip:为zip格式,可以用于各类操作系统 本文使用window版本为例,因此下载iReport-2.0.3-windows.inst aller.exe即可。 2安装iReport 安装iReport需要先设置JDK环境,2.0.X版本要求JDK1.5环境(另参考文档)。 如果是windows系统,直接双击安装图标即可。 (如果是下载的ZIP文档,则将其解压到指定的目录,还需运行bin/startu p.bat)。

jaspersoft+iReport+Designer+4.5.0教程

.前.言. .本教程所使用实例均来自jaspersoft iReport软件自带的Samples。在开始本教程之前,请先运行Sample 数据库,如下图所示,相关案例也可在相应的菜单中点击打开。软件安装,配置设置请见相关教程。 图1 1.简单报表查询 1.1新建报表 依次单击“文件/New…”,弹出窗口如图1.1所示: 图1. 1 选择”Blank A4”,单击”Open this Template”,如图1.2所示:

图1. 2 在“Report Name”输入“SimpleReport”,依次单击“下一步/完成”,得到一个新的report,如图1.3所示: 图1. 3 1.2设置数据集 单击数据库链接按钮,弹出”Report query”窗口,本文将使用系统自带的HSQLDB数据库(如图1.4所示),在弹出窗口中输入查询语句,如图1.5和1.6所示。 图1. 4 图1. 5

图1. 6 单击”OK”按钮完成数据集设置。 1.3 Report设计 ①设置Title 在主窗口的设计窗口开始设置。首先从“组件面板”拖动一个”Static Text”控件到设计窗口的 Title Band,并双击输入文字,如图1.7所示。 图1. 7 ②设置Detail 从左侧导航面板“Report Inspectpr”的“Fields”中拖动要显示的属性字段到设计窗口的Detail Band,如图1.8所示。

图1. 8 Detail Band中的字段在制成Report时将循环显示,而Column Header是列标题,只显示一行,本文不希望显示列标题,因此删除Column Header中的标签框。调整Detail中的Text Field位置和大小,如图1.9所示: 图1. 9 ③设置Page Rooter 从组建面板中拖动“Pager number”和“Total pages”到设计面板的Page Rooter内,选中设计面板中的“Pager number”控件,如图1.10所示。 图1. 10 此时可以查看该控件的属性,在属性面板中找到“Text Field Expression”属性,将其改为"Page "+$V{PAGE_NUMBER}+" of "。

ireport入门教程之参数(Parameters)

ireport入门教程之参数(Parameters) Parameters通常是用来在打印的时候从程序里传值到报表里。也就是说parameters通常的是起参数传递的作用。他们可以被用在一些特定的场合(比如应用中SQL查询的条件),如report中任何一个需要从外部传入的变量等(如一个Image对象所包括的char或报表title的字符串)。 和使用Fields一样,parameters也需要在创建的时候定义它的数据类型。parameters的数据类型是标准的java的Object。 在ireport中,Parameters的机制是允许用户通过应用程序传递参数致报表当中。在jasperreort中的某个对象中的expression可以通过下面的语法来访问一个当前ireport中存在的parameter: $P{parameter name}。

如果应用程序没有为报表中定义的parameter赋值,那么parameter将会取我们在定义它的时候设置的default value的值。parameters是一个Java Object,所以如果它的类型是Object类型,我们在其default value里写下面的表达式就是错误的: 0.123 你必须要创建一个Object,如: New Double(0.123) 这种写法就是正确的。 在查询中使用Parameters Parameters可以用来做SQL查询的条件参数的传递。如果你想根据部门编号(dept_id)得到客户的详细信息(设计的时候我们是不知道这个部门编号的具体值是多少的).此时我们可以这样组织查询语句: select*from employee where dept_id=$P{deptId} 此时SQL查询引擎将会采用PreparedStatement来处理传入的deptId值以此作为查询条件参数。 如果你想直接通过parameter值来作为SQL语句的一部分,那么你可以使用下面的特殊语法:$P!{parameter name}。这种写法允许你在查询时用parameter的值来替换parameter name。例如,如果我们有一个参数名为MyWhere其值为:where dept_id=D11,查询写法如下: Select*from employee$P!{MyWhere}

JasperReport4.0.1使用手册

JasperReport4.0.1 用户手册

目录 1.介绍 (4) 2.准备工作 (4) 2.1环境要求 (4) 2.2下载 (5) 3.报表生命周期 (5) 4.报表结构 (5) 5.Report Datasource (6) 5.1 Database JDBC connection (6) 5.2 JavaBeans set datasource (9) 5.3 File CSV datasource (11) 5.4 Microsoft Excel(xls)data source (12) 6.报表元素(Report Elements) (12) 6.1 Static Texts (12) 6.2 Text Field (13) 6.3 Crosstab(交叉报表) (13) 6.3.1 基本设置 (13) 6.3.2 设置报表的语言 (15) 6.3.3 对Row Groups中的变量的操作 (16) 6.3.3 对Column Groups中的变量的操作 (17) 6.3.4 对Measures中的变量的操作 (17) 6.3.5 预览报表效果 (18) 6.4 List (18) 6.4.1 设置List引用的dataset,为List所引用的参数赋值 (18) 6.4.2 设置List中内容的扩展方向 (18) 6.4.3 设置List中内容的扩展个数 (19) 6.4.4 示例中的报表的设计以及运行效果如下图(截取部分) (19) 6.5 Table(表格) (20) 6.5.1 Table如何获得连接 (20) 6.5.2 如何向Table中的参数传值 (20) 6.5.3 如何删除或添加一列 (20) 6.6 Break(分页符) (20) 6.7 Chart(图表) (20) 6.8 Subreport (22)

java+ireport应用 (1)

ireport制作报表的流程: 首先,我们用ireport设计报表的样式,通过编译生成.jasper文件,为java做准备。 其次,我们在java中定义report公共类,来解析.jasper文件。 最后,通过流输出到页面显示。 1.用ireport设计简单报表:在这里我们选用ireport3.0,因为3.0比较稳定。 1.1,首先,新建一个报表文件,如下图:有title、pageHeader、columnHeader......等等栏。 1.2,title栏是用来放置标题的;pageHeader栏是放副标题和日期等;columnHeader栏是放表头的;detail栏是放详细信息(向下遍历数据显示);summary栏是放置图和交叉报表的;左下角的文件结构有“参数”、“字段”和变量,参数是用来定义一些静态文本的,可以通过后台进行传值,字段是定义VO的属性,变量是用来参与运算的; 1.2.1首先我们来定义一个参数叫做title,选择参数--->"添加"----->parameter,如下图:

在弹出的对话框的参数名中输入title后点击确定,然后将title参数拖拽到title栏中,如下图: 在这里我们可以设置title的字体、大小和位置等。 1.2.2用同样的方法我们建立两个字段:username和password:

分别拖拽到detail栏中,并调整大小、位置和边界: 接下来我们可在对于的列上加上表头:点击工具栏的“T”静态文本,在columnHeader栏中画出: 以上一个简单的报表就画好了,我们点击工具栏的“执行报表”按钮,编译成.jasper文件。 1.3,接下来我们定义java类Reports.java:

ireport 5.1.0 入门教程之参数(Parameters)

ireport 5.1.0入门教程之参数(Parameters) Parameters通常是用来在打印的时候从程序里传值到报表里。也就是说parameters通常的是起参数传递的作用。他们可以被用在一些特定的场合(比如应用中SQL查询的条件),如report中任何一个需要从外部传入的变量等(如一个Image对象所包括的char或报表title的字符串)。 和使用Fields一样,parameters也需要在创建的时候定义它的数据类型。parameters的数据类型是标准的java的Object。 在ireport中,Parameters的机制是允许用户通过应用程序传递参数致报表当中。在jasperreort中的某个对象中的expression可以通过下面的语法来访问一个当前ireport中存在的parameter: $P{parameter name}。

如果应用程序没有为报表中定义的parameter赋值,那么parameter将会取我们在定义它的时候设置的default value的值。parameters是一个Java Object,所以如果它的类型是Object类型,我们在其default value里写下面的表达式就是错误的: 0.123 你必须要创建一个Object,如: New Double(0.123) 这种写法就是正确的。 在查询中使用Parameters Parameters可以用来做SQL查询的条件参数的传递。如果你想根据部门编号(dept_id)得到客户的详细信息(设计的时候我们是不知道这个部门编号的具体值是多少的).此时我们可以这样组织查询语句: select*from employee where dept_id=$P{deptId} 此时SQL查询引擎将会采用PreparedStatement来处理传入的deptId值以此作为查询条件参数。 如果你想直接通过parameter值来作为SQL语句的一部分,那么你可以使用下面的特殊语法:$P!{parameter name}。这种写法允许你在查询时用parameter的值来替换parameter name。例如,如果我们有一个参数名为MyWhere其值为:where dept_id=D11,查询写法如下: Select*from employee$P!{MyWhere}

iReport使用手册(简易配图基础版)

iReport 用户手册1.1什么是iReport? iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports 库应用于任何一种java应用程序。本身是分布式的且由符合GNU通用公共许可的 百分之百纯java编写。 由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。iReport能够让我们提高技术方面的信心,比如它能降低学习JasperReports的XML语法的难度,而且能够为熟练的技术人员节省大量的时间并能开发出非常精 细的报表。 2.1功能特点 以下将列出iRreport的一些比较突出的功能: ?百分之九十九支持JasperReports XML标签 ?所见即所得的报表编辑器,也就是说它具有创建矩形,线,椭圆,正文区域,标签,图表,子报表,条码等完善的工具图标供使用。 ?嵌入式编辑器带有灯泡提示代码规则 ?支持Unicode和非拉丁语言(俄文,中文,日文,韩文…) ?文档结构浏览器 ?完善的报表编译器和输出器 ?支持所有可以通过JDBC连接的数据库 ?支持所有有效的数据源 ?自动报表创建向导 ?支持子报表 ?源文件的备份 ?支持文档模版 ?支持TrueType字型 ?支持本地化

?可添加插件扩展功能 ?完全支持脚本 ?支持图表 ?标准对象库管理(页码…) ?支持拖拽 ?无限制的取消/重做 3.1下载地址 iReport-5.5.0-windows版下载链接: https://www.360docs.net/doc/6a9378324.html,/project/ireport/iReport/iReport-5.5.0/ iReport-5.5.0-windows-installer.exe 4.1安装流程 1.打开安装文件,点击Next 2.点击I Agree

ireport图文教程(超详细)

1下载iReport iReport是一个可视化的报表模板设计工具,使用此工具能方便地对报表进行设计。在iReport中已经包含了jasperreports在运行时需要的jar文件,在项目中的lib目录中包含Jasperreports-***.jar 即可,其中***为版本号,比如2.0.3。 下载地址:https://www.360docs.net/doc/6a9378324.html,/project/showfiles.php?group_id=64348,此文档编写时版本为 2.0.3,如图: 点击download出现以下界面: 可以看到提供了多种下载包,其中: ?iReport-2.0.3-src.zip:为iReport的源代码 ?iReport-2.0.3.tar.gz:为.tar.gz格式,一般用于Linux、Unix等非windows系统 ?iReport-2.0.3-windows.installer.exe:为exe格式,一般用于windows系统 ?iReport-2.0.3.zip:为zip格式,可以用于各类操作系统 本文使用window版本为例,因此下载iReport-2.0.3-windows.installer.exe即可。 2安装iReport 安装iReport需要先设置JDK环境,2.0.X版本要求JDK1.5环境(另参考文档)。

如果是windows系统,直接双击安装图标即可。(如果是下载的ZI P文档,则将其解压到指定的目录,还需运行bin/startup.bat)。 如果是其他系统,比如Linux,Unix等,解压下载的安装文件(如下载的是tar.gz格式,使用tar xvfz iReport-2.0.3.tar.gz进行解压,如下载的zip格式,使用zip命令解压),然后运行bin/startu p.sh即可。 以下以在windows上安装为例: A.欢迎界面,点击“N ext >”继续 B.阅读license内容,点击“I A gree”继续

ireport 5.5入门教程之ireport快速入门文档

ireport5.5入门教程之ireport快速入门文档必要条件: iReport需要Sun Java2SDK1.4以上版本;为了能编译jasper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。如果你还想编译iReport 源代码,你还要安装Jakarta Ant version1.6以上版本。 硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要只少256Mb的内存和至少20Mb的磁盘空间。 下载: 你可以到SourceForge网站上的企业主页上下载最新发布的iReport,可能有几种不同的分类: iReport-x.x.x.zip这是官方的zip格式的二进制文件。 iReport-x.x.x.tgz这是官方的tar gz格式的二进制文件。 iReport-x-x-x-src.zip这是官方的包含源代码的zip格式的二进制文件。 x.x.x表明了iReport的版本号。每一种都包含必须使用的第三方的库和程序及附加文件,例如模板和一些html格式的基础教程。 如果你想要更多最新版本的源程序,你可以直接地连接CVS库。但必须要有一个CVS客户端(像CVS,JCVS或者WinCVS)。 如果你有CVS那就执行如下的命令行: cvs-d:pserver:anonymous@https://www.360docs.net/doc/6a9378324.html,:/cvsroot/ireport

login(目前好象无法连接) and then all on the same line… cvs-z3 -d:pserver:anonymous@https://www.360docs.net/doc/6a9378324.html,:/cvsroot/ireport co iReport2 这样CVS客户端就可以将iReport的所有文件下载到本地,包括所有的文档,库和所有有用的编译iReport的文件。 就使用其他CVS的用户来说,SourceForge网站也自制了详细的解释用来检出工程。 编译iReport: 这些源中包含一个build.xml文件,它是被Jakarta Ant用来编译和启动iReport和或用来创建不同类型的工程。 下载iReport-x.x.x-src.zip,解压缩到你指定的目录,例如: c:\devel(or/usr/devel on unix system)。打开命令提示符或shell,进入你解压的目录和iReport目录:C:\devel\iReport-0.3.2>ant iReport 如果这个源完整的存在与目录中,它将被编译进类中iReport就能直接启动。

CF卡使用手册_CN

Copyright 2006 ABB. All rights reserved. Task List

Modifications list

Contents 1概要 (4) 2功能描述 (4) 3操作步骤 (4) 4把CF盘安装到控制器 (9) 5通过打开和关闭电源测试CF盘 (10) 6用CF盘设置控制器的IP地址 (10)

1 概要 1. 简介. 该文档的目的是提供一个如何使用CF盘的快速指南。对于AC800M系列控制器,在没有备份电池的情况下,可以使用CF盘引导控制器并下装应用程序。对于重启项目这是一个省时的、易于维护的方法。 该特性在许多情况下都是有价值的,当系统失电而又无备份电池;或有电池但不会保持太长时间(电池快没电时);或在控制器并非连续运行的情况(白天运行,晚上断电休息);或是演示设备等。2. 硬件、软件需求 硬件: AC800M 控制器, Compact Flash Card (CF 盘) 软件: Compact CBM 4.1 或800xA4.1 以后版本 2 功能描述 组态AC800M控制器,将测试程序装入CF盘,用CF盘启动AC800M控制器。并演示如何手动保存ColdRetain 值。 3 操作步骤 1. 准备CF盘 下列盘卡已经在Feeder Factory经过了测试(大多数其他卡也应该可以使用) .Silicon System; SiliconDriveTM CF256MB (SSD-C25M-3012) .SimpleTech;CompactFlash Flash Storage 128MB(SLCF128J-F) .Transcend;CompactFlashTM 512MB Industrial (TS512MCF451) PM865不支持CF盘。 准备CF盘 1) 将CF盘插入读卡器;

JasperReports入门详细步骤

JasperReports报表生成的基本步骤: 1.扩展名为.jrxml的文件为标准的xml文件,该文件定义了报表的格式和 数据构成。可以通过jasperReports的“黄金搭档”iReport以可视化的方式生成并编辑这个文件。 2.jrxml文件经过JasperReports API 编译后将生成扩展名为.jasper的二 进制文件。 3.可以调用JasperReports API针对jasper文件进行数据和参数的填充, 生成扩展名为.jrprint的文件。 4.调用JasperReports API可以将jrprint文件最终导出成PDF、Excel、 Html等各种格式的文件。 下面将采用iReport + JasperReports 生成如下图的PDF格式报表,表格中的数据来源于数据库,是在固定格式报表基础上,由JasperReport填充得到的。整个报表的生成过程需要两个步骤: 1.使用iReport生成规定报表格式和数据构成的jrxml文件。 2.调用JasperReports API 编译、填充并导出固定格式的报表。

一、用iReport生成报表文件(.jrxml) 开源工具iReport用于定义报表的格式,可以从其官方网站下载 https://www.360docs.net/doc/6a9378324.html,/cap3.html 本应用所使用的是iReport-1.2.2-windows-installer.exe 安装程序,启动后,按照向导即可安装(要确认系统中装有1.4版本以上JDK)。下面的操作大致分为12个步骤: 步骤1:安装成功后启动该程序,将显示如下画面,选择菜单“File->New Document”新建报表文档,可在弹出的对话框选择报表的大小、版式等。

ireport 5.6教程之参数(Parameters)

ireport 5.6教程之参数(Parameters) Parameters通常是用来在打印的时候从程序里传值到报表里。也就是说parameters通常的是起参数传递的作用。他们可以被用在一些特定的场合(比如应用中SQL查询的条件),如report中任何一个需要从外部传入的变量等(如一个Image对象所包括的char或报表title的字符串)。 和使用Fields一样,parameters也需要在创建的时候定义它的数据类型。parameters的数据类型是标准的java的Object。 在ireport中,Parameters的机制是允许用户通过应用程序传递参数致报表当中。在jasperreort中的某个对象中的expression可以通过下面的语法来访问一个当前ireport中存在的parameter: $P{parameter name}。

如果应用程序没有为报表中定义的parameter赋值,那么parameter将会取我们在定义它的时候设置的default value的值。parameters是一个Java Object,所以如果它的类型是Object类型,我们在其default value里写下面的表达式就是错误的: 0.123 你必须要创建一个Object,如: New Double(0.123) 这种写法就是正确的。 在查询中使用Parameters Parameters可以用来做SQL查询的条件参数的传递。如果你想根据部门编号(dept_id)得到客户的详细信息(设计的时候我们是不知道这个部门编号的具体值是多少的).此时我们可以这样组织查询语句: select*from employee where dept_id=$P{deptId} 此时SQL查询引擎将会采用PreparedStatement来处理传入的deptId值以此作为查询条件参数。 如果你想直接通过parameter值来作为SQL语句的一部分,那么你可以使用下面的特殊语法:$P!{parameter name}。这种写法允许你在查询时用parameter的值来替换parameter name。例如,如果我们有一个参数名为MyWhere其值为:where dept_id=D11,查询写法如下: Select*from employee$P!{MyWhere}

ireport 4.5教程之交叉表

ireport4.5教程之交叉表 一个CrossTabs是一种在设计的时候既不确定行数和也不确定列数的一种表格,在运行环境下它会像下面显示的不同年份的一个销售报表一样。 水果/年份200420052006 草莓 野生樱桃 CrossTabs在jasperresports中从1.1.0版本时开始提供,同时iReport 也从1.1.0开始支持CrossTabs。 Jasperreports的CrossTabs工具允许对行和列的数据进行分组、汇总和自定义每一个cell里的内容。填充CrossTab的数据可以来自主报表里的dataset 或来自subDataset。使用iReport里提供的向导我们可以简单快速的创建功能强大的交叉报表组件。 一个CrossTabs本质上是一个表格,行和列的数量取决于填充这个表格的数据。行和列也可以在groups里做聚合操作。对于每一个行或列的group我们都可以得到一个细节信息和一个可选的行列数据的汇总。

交叉表向导(Crosstab wizard) 为了说明怎么让一个crosstab工作起来,我们将使用向导创建一个crosstab,当我们在工具条里选择crosstab元素并将其添加到报表中时crosstab的向导会自动启动。 还是以DoradoSample里提供的hsql数据里的employee报为例,我们使用包含下面查询语句的空报表开始: Select*from employee 我们把crosstab放在报表的底部:summary band 在第一步里我们需要选择一个dataset来填充crosstab,我们这里使用主报表里提供的dataset,点击下一步继续。

iReport中文教程

iReport中文教程

iReport 一、介绍 iReport是一个能够创建复杂报表的开源项目,它100%使用Java语言编写,是目前全球最为流行的开源报表设计器之一。 由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。 以下是iReport一些比较突出的功能: ?拖拽式,所见即所得的报表编辑器; ?多样的向导来简化复杂的报表设计任务; ?超过30个排版和格式化工具; ?报表可转换为PDF HTML EXCEL FLASH CSV RTF TXT OpenOffice Java2D JRViewer等格式; ?支持所有有效的数据源。如:JDBC,CVS,Hibernate,JavaBean等; ?用户自定义数据源; ?无限次数的撤消/重做; ?集成脚本(scriptlet)支持; ?内置图表支持:超过20种的图表支持。并可扩展; ?国际化:集成超过15种语言; ?报表模板与报表库样式管理; ?源文件的备份; ?文档结构浏览器。 二、开始 在本章中我们将介绍iReport运行时所需要的环境、如何下载iReport以及如何在我们的系统中安装使用。 2.1、运行环境(Requirements) iReport运行时需要sun java2 SDK 1.5及以上版本,为了能编译我们的报表文件我们需要完整的安装JDK。

2.2、下载(Download) iReport官方网址:https://www.360docs.net/doc/6a9378324.html,/cap3.html。 2.3、运行(Run) 将文件下载到本地解压后,您可以直接双击iReport.exe或者iReport.bat来运行程序。 注:在本文中iReport的版本是3.0.0。 三、报表结构 在本章中我们将分析一下报表的结构,看一下报表中每一部分的作用是什么,以及在生成报表的时候每一部分将产生什么样的效果。 栏(Bands) 报表被垂直分成若干个部分,每一个部分我们叫它“band”。每一个band都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。如下图。 接下来我们就对每一种类型的band分别进行介绍。 Title Band:title 段只在整个报表的第一页的最上面部分显示,除了第一页,不管报表中有多少个页面也不会再出现Title band 中的内容。就是报表的标题。 pageHeader Band:pageHeader 段中的内容将会在整个报表中的每一个页面中都会出现,显示的位置在页面的上部。如果是报表的第一页,pageHeader 中的内容将显示在Title Band 下面,除了第一页以外的其他所有页面中,pageHeader 中的内容将显示在页面的最上端,即页眉。 pageFooter Band:显示在所在页面的最下端,即页脚。 Detail Band:报表内容段,在这个Band 中设计报表中需要重复出现的内容,Detail 段中的内容每页都会出现。

平台整合

信息集成解决方案提供商 Supplier for information integration solution 泰恪软件 广州市泰恪软件科技有限公司 中山市泰恪软件科技有限公司 业务咨询热线:4000-182-800 广州市天河区天河路490号壬丰大厦西厅23楼2308A 电话:(020)87567865 传真:(020)87568053 中山市博爱五路大东裕国际中心2座1008-1009室研发中心:中山市东区中山软件园东区园区210-212电话:(0760)88389829(10线) 传真:(0760)88336248 网址:https://www.360docs.net/doc/6a9378324.html,

泰恪软件是一家专注于信息集成和移动互联网研发推广的高科技企业,致力于搭建企业应用一体化平台。通过十几年的奋斗,已发展成为极具影响力的企业信息化整体解决方案提供商。 泰恪软件一直把产品研发作为企业重心,拥有一支成熟稳定的研发队伍,研发人员的比例达到40%,是典型的以技术为驱动的企业。产品包括:T1 BPM 业务流程管理、DSP 数据服务平台、iReport 智能报表、云助手移动应用等。 在竞争日趋激烈,科技日益进步的今天,泰恪软件以诚信创新、和谐共赢的价值观作为引导,秉承服务领先、客户至上的发展战略,依靠技术创新和管理变革, 不断以高品质的产品服务于用户,为企业创造价值,成为中国有影响力的软件企业。 泰恪,信息集成专家 目录·CONTENTS T1 BPM DSP iReport 是一套面向业务人员的工作平台,能够满足企业个性化的业务需求,提高企业效率,并且让工作变得更加简单。 其可视化的配置开发工具让人们可以轻松建立应用程序,实现自动化的业务流程以及简化业务操作,提升企业业务流程管理水平 可以便捷地实现各种应用系统,如财务、业务、PDM、OA、HR 等的有效集成,也可以建立企业内部应用系统与外部供应链、客户系统之间的信息交换与共享,消除信息孤岛 可以方便快捷的实现从企业ERP 系统提取、转换和发布展现各种业务数据,为企业管理者和决策者提供方便、实时的管理监控和决策分析报表 P02-07 P08-13 P14-19 01

证券营业部监管报表填报技术指引

《证券营业部监管报表》填报技术指引 (共分注意事项、技术指引、图例指南三部分,请详细阅读本指引) 2008年7月

第一部分数据填报注意事项 1、证券营业部登陆用户名为营业部8位机构编码,该编码与三号令系统中编码一致。证券营业部如不掌握编码,须与公司总部联系获取编码。证券营业部编码错号、重号、多号问题(如营业部编码为翻牌、更名前旧编码,编码与名称不符,一营业部存在两个及多个编码),须与公司总部核实准确编码。 2、证券营业部应先填报“证券营业部监管报表报送问卷”,在“值”栏必须选择“是/否”选项。监管报表中除备注事项外的所有项目必须填列,如证券营业部不涉及该项目,需填报零,否则无法通过审核上报。 3、证券营业部监管报表设臵了表内和表间的基本校验公式,在填报全数据准备向系统上报前须逐一对每张表进行合理性审核(审核当前表和审核所有报表为“逻辑性”问题,不能发现数据校验错报),根据未通过审核的提示内容确认报送数据是否存在差错。如确认后认为报送数据准确完整,方可“上报”。 证券营业部在报送期满后,因报送数据存在错报、漏报、迟报等问题需要修改或补报时,需按照辖区证监局要求提出申请,对已报送数据进行解锁,修改或者补报完成后及时告知证监局锁定数据。 4、填报的数据必修通过“上报”后才能被证监会(证监局)收到。

5、点击“保存到本地磁盘”,可以将数据保存到本地,下次报送数据时,点击“装入本地数据”将数据装入后,可以继续填报(注意:通过此功能保存到本地的数据,如果在保存后系统中的报表任务有过修改,会导致保存在本地的数据与系统中的报表无法对应,保存在本地的数据将无法正常装入到系统中,所以建议最好不要采用此方式保存数据)。 6、使用“离线填报”工具报送数据的,如果在本地“离线填报”工具中的报表任务与系统中的报表任务不一致(如:证监会对报表格式进行了调整),会导致“离线填报”工具中填报的报表数据无法正常装入到系统中,所以建议最好在每月使用“离线填报”工具填报数据前最好从系统中重新下载新的报表任务,以保证本地的报表任务与系统中的报表任务保持一致。 7、使用“离线填报”工具上报数据时,需输入服务器的URL 地址为http://202.106.183.126/ireport/。 8、如果要填报“当前报表期”以外的其它报表期,请选择“更多报表期”。

JasperReports最终用户手册中文版第四章 报表设计

第四章报表设计 注:https://www.360docs.net/doc/6a9378324.html, haibo译转载请注明译者和出处ethonsmith@https://www.360docs.net/doc/6a9378324.html, “报表设计(report design)”是一个模板,JasperReports 引擎会用它来传递动态内容到打印机,屏幕或者是Web页面。存储于数据库中的数据会根据报表的实际设计来填充整个报表,打印到页面导向的文档。 The report design represents a template that will be used by the JasperReports engine to deliver dynamic content to the printer, to the screen or to the Web. Data stored in the database is organized during the report filling process according to this report design to obtain ready to print, page oriented documents. 通常,一个“报表设计”包含了关于数据填充后所形成的报表(documents)的结构和所有的其他方面的信息。这些信息包括将要输出到报表上的各种文本,图像元素的位置,内容,以及要进行的数据计算,自定义计算,分组,操作等信息。 Generally speaking, a report design contains all the information concerning the structure and the aspect of the documents that will be generated when the data will be provided. This information concerns the position and the content of various text or graphic elements that will appear on the document, their appearance, the custom calculations, data grouping and data manipulation that should be performed when generating the documents, etc. 一般,“报表设计(report design)”用一种特殊的结构定义在Xml文档中(我们会在稍后详细分析),在被填充数据前,这一过程属于JasperReports报表的编辑阶段。但是“报表设计(report design)”也可以用JasperReports API 以编程的方式在内存中构造.随JasperReports项目源文件一起提供了一个noxmldesign(No Xml Design)例子介绍了如何直接在内存中创建“报表设计(report design)”,而不用编辑Xml 文档。 Normally, the report designs are defined in XML files with a special structure that we shall see in detail later and are subject to the JasperReports compilation process before being filled with data. But they also can be constructed in-memory, programmatically, using the JasperReports API. There is a sample called noxmldesign shipped with the JasperReports project source files that shows how to directly create in-memory report designs, without editing any XML files at all. 4.1 DTD 文件引用 用Xml 文档来编辑“报表设计(report design)”时,JasperReports用它自己内部专用的DTD 文件来校验这个文档内容。如果XML 校验通过,那表示这个XML “报表设计(report design)”符合JasperReports 所需要的XML 文档结构和语法,JapserReports引擎也可以编译这个文档来输出“已编译”的“报表设计(report design)”. When working with XML report designs, JasperReports uses its own internal DTD files to validate the XML content it receives for processing. If the XML validation is passed, it means that the supplied report design corresponds to the JasperReports required XML structure and syntax and the engine is able to generate the compiled version of the report design. 正确的Xml“报表设计”通常标明用于校验它本身的JasperReports内部专用的DTD文件。如果不标明引用这个文件,报表编译便会失败。这个应该不复杂,因为这个引用在每个“报表设计(report design)“里通常都是一样,你只要简单的复制他就行了。初始设计报表,你可以从本书的例子里复制。 Valid XML report designs always point to the JasperReports internal DTD files for validation. Without the DTD reference specified, the report compilation process fails abruptly. This should not be considered a too much burden for anybody since the DTD reference is always the same and

相关文档
最新文档