日期:2014-05-17  浏览次数:21349 次

ireport工具制作jasper模板报表

ireport工具制作jasper模板报表
2010-03-18 17:02


ireport工具制作jasper模板报表
-----------------------------------------------------
**********----------------------*********************
1.下载iReport-3.0.0zip 解压后,要注意一点,把你的JDK的tools.jar拷到你解压后的iReport的lib目录下,做中文的pdf报表还需要把iTextAsian.jar拷到lib下,如果你用的是Oracle的数据库,那么你还需要把class12.jar也就是Oracle的Jdbc包拷到iReport的lib下,其他数据库也一样。
准备工作做好了,运行iReport.bat。如果能看到UI界面,说明iReport成功运行了。
**********----------------------*********************
2. 如果没有成功。按以下步骤可解决该问题:
确定系统安装有JDK,而且系统环境设置,path里有JDK的bin目录,并有java_home参数,以下是我的几个参数的配置情况可供参考:
(1) java_home?? D:\JBuilder9\jdk1.4
(2) path??????? D:\JBuilder9\jdk1.4\bin;D:\Install\ant161\bin
(3) classpath??? D:\iReport042\fonts;E:\Project\EssV6\webapps\WEB-INF\classes
(4) ant_home?? D:\Install\ant161
**********----------------------*********************
3.如果绿色解压版的JDK,一定要在环境变量中设置java_home,
把你的JDK的tools.jar拷到你解压后的iReport的lib目录下。

**********----------------------*********************
4、详细资源
iReport官方提供了一些关于iReport视频,对于初学者很有帮助:
   地址:http://ireport.sourceforge.net/docs.html

JasperReport官方提供的使用指南
地址:http://jasperreports.sourceforge.net/tutorial/index.html

JasperReport提供的一些例子:
地址:http://jasperreports.sourceforge.net/samples/index.html


**********----------------------*********************
5、常见问题
(1)、iReport中提示框输入中文是不能正常显示,请将iReport下lib中的这个包删除tinylaf.jar
   2)、在iReport中运行报表时如果出现乱码问题,请检查itext-1.02b.jar和iTextAsian.jar这两个包是否加到CLASSPATH
(3)、在jsp或servlet高度报表时出现乱码或不显示,请检查你在报表设计过程中所设置的字体及其编码
比如:pdfname、pdfencoding

**********----------------------*********************

6.jasperReport是一个以java实现的报表工具,
种就是写jrxml文件,其实就是xml文件,只不过是后缀名不一样罢了。

(1)、iReport的输出格式
iReport的预览输出格式可以支持以下几种:

PDF、HTML、CSV、JAVA2D、Excel、纯文字、JRViewer,其中最常用的是PDF、JRViewer。本文以JRViewer为例子。JRViewer是直接以C/S方式作为报表的输出格式,在JFrame框架下输出。Jasperreport提供默认的JRViewer输出类。

(2)、报表的动态对象变量、参数、字段
在使用iReport的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,我们要介绍这些对象的使用和意义:

·字段(Fields):是数据库抽取出来的,希望在报表中出现的数据库内容。比如一个ID的所有值。$F{ filedsName }

·参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。$P{ parameterName }

·变量(Variables):这是报表中一些逻辑运算的表现,比如统计值。$V{ variablesName }

每种对象的定义格式如每个对象的后面说明,比如定义一个变量(Variables),那么表达式就写成$V{ variablesName },报表中出现的就是这个变量的名称。后文会详细的介绍使用方法。

(3)、编译、静态运行、动态运行
Jasperreport运行时需要的就是一个jasper后缀的文件,编译过程其实就是把jrxml后缀的文件生成jasper后缀的文件。(可以参考Jasperreport的运行原理)

静态运行和动态运行是相对的,后者带数据源运行,比如带数据库运行。前者就是静态文本运行,和数据源无关,如果报表中出现和数据源有关的对象,则以null显示。

(4)、报表结构
?????? 一个报表的结构大致是几个部分:title、pageHeader、columnHeader、detial、columnFooter、pageFooter、summary、groupHeader、groupfooter。

·Title:每个报表一般会有一个名字,比如×××销售报表,title就是搁置这个名称的最好地方了,当然你也可以根据需要搁置在合适的地方。

·pageHeader:报表的一些公共要素,比如页码、创建时间、创建人等信息放置在这里是比较好的选择。

·columnHeader:无可非议的这里是放置列的名称,记住不是列数据。

·Detial:放置需要循环的数据,比如销售记录数据。

·columnFooter:放置列级别的统计计算值或是列的说明。

·pageFooter:放置页级别的统计值或是页的说明。

·Summary:可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。

·groupHeader:每个表的内容可能需要根据某个属性进行划分显示内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那么就可以定义一个组(组的定义参考后文),groupHeader就是放置组说明或是组标志最好的地方。

·Groupfooter:放置组的统计或是说明


**********----------------------*********************
7.简单的报表详细制作过程:
(1).新建一个空报表文档, (文件 -> 新建文档 -> 填写 报表名称 -> 确定)。
(2).标题Title 和 列头 ColumnHeader 一般要用 staticText属性 , (编辑 -> 插入元素 -> 静态文本 拖入到所要安放的位置,写入文字即可)。
(3).查询数据的显示,(数据 -> 数据源链接 -> 添加 -> 数据库 JDBC连接 -> 下一步 (启动数据库) -> 输入信息 测试 -> 测试成功后保存) (数据 -> 报表查询 -> 写查询 SQL 后 确定 -> 在刷新文档结构中的字段 就会出现 SQL 的字段信息 直接拖放即可)。
(4).以上信息 操作完成 后,另存报表文档 (或 构建 -> 编译 )会生成 jrxml 文件,(接着执行 构建 -> 执行报表(使用活动连接) (在 构建 -> 选中Excel查看 ) 即可 生成 jasper文件 和 Excel文件(预览效果))。


*********