greengrass's blog

能够从另一个角度看问题,见人之所不见,善于突破常规,就是创造

常用链接

统计

友情链接

最新评论

JasperReport+iReport报表设计实战——配置篇

一、概述   JasperReport是JasperSoft公司的一款开源的报表解决方案。其强大的功能及免费的特性得到了广大的认可和赞誉,通过JasperReport,用户就可以方便的定制、设计、生成项目所需要的各种报表。现在的最新版本是Jasperreport1.3.4。
下载地址是https://sourceforge.net/projects/jasperreports/
iReport是jasperreport的一个IDE的开发工具,使Jasperreport变得更易用,其最新版本是iReport2.0支持Jasperreport1.3.4
下载地址是https://sourceforge.net/projects/ireport/



二、环境配置

 1.  正确安装配置jdk 
   

 

 2 .配置ant 。将ant放到c:\下(我用的ant路径是C:\Borland\JBuilder2005\thirdparty\apache-ant-1.6.5) 

 3 .将ireport放到C:\iReport-2.0.0
 4 .将jasperreports-1[1].3.4.jar放置到C:\iReport-2.0.0\lib 中,jasperreports是iReport的核心内容,jsperreport是一个报表制作程序,用它的规则制定一个xml文件,然后编译生成一个.jsper文件,这个.jsper文件是我们真正使用的。
 5. 将itext-1.3.1.jar、ojdbc14.jar、iTextAsian.jar、jcommon-1.0.0-rc1.jar JCommon、 jfreechart-1.0.0-rc1.jar jfreechart、poi-2.0-final-20040126.jar放置到C:\iReport-2.0.0\lib 下 。itext-1.3.1.jar iText是一个开放源码的Java类库,是用来生成PDF文件的。如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包iTextAsian.jar
下载地址:http://itextdocs.lowagie.com/downloads/iTextAsian.jar
 jfreechart-1.0.0-rc1.jar jfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG等各式的文件。
下载地址:http://www.jfree.org/jfreechart/
jcommon-1.0.0-rc1.jar JCommon是一组有用的classes集合.它已经用在JFreeChart,JFreeReport与其它项目上. 这个类库包含了以下功能: 文本工具类(text utilities), 用来显示关于应用程序信息的用户界面类, 布局定制管理器, 一个日期选择面板, 序列化工具类, XML解析器支持类.
下载地址:http://www.jfree.org/jcommon/
 poi-2.0-final-20040126.jar Apache的Jakata项目的POI子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。直接调用poi包的不是ireport,而是jasperreport。
下载地址:http://www.apache.org/dyn/closer.cgi/jakarta/poi/

二、使用介绍

1 启动:点击ireport\ireport.bat启动
2 修改语言环境:option-----选项-----general中language中更改-中文(中国)

3 创建报表 开启新档 输入名字-ok Portrait是纵向,Landscape是横向。

 4 连接数据源 Data-连接/资料来源-new-connections porperties- 输入名字-选择jdbc Driver,jdbc url-输入username和password,-test测试通过表明数据源连接正确-save保存 (注意:必须保证数据库驱动ojdbc14.jar在lib目录下)

 5 基本域说明

title域用来放报表的总标题

 pageHeaher域顾名思义页头

 columnHeader域是用来放static text的,也就是不循环的部分。

detail域是用来放text field的,也就是循环部分。

pageFooter域是用来放本页的统计参数的。

 summary域是用来放整个表的统计参数的。

 可以直接调整每个域的长度,也可以通过Band properties来调整 (在我的项目中,只设置的title和detail,在title中显示报表的总标题和所有parameters字段,在detail中显示需要循环的列表字段)

 6 在报表中添加字段static text edit-insert element -static text 鼠标拖拉添加在页面中双击或者右键properties在static text Tab 中输入字段名字,为了以PDF格式输出中文,需要在“PDF Font Name”选项中选择“STSong-Light”,在中文字体定义中勾选“Default”、“PDF Embedded”,“PDF Encoding”选择“UniGB-UCS2-H (Chinese Simplified)”。  border 中可以设置表格边线样式,表格边线样式最好设为thin,这样就不至天太粗,而且pdf和excel两种格式兼容。
7 在报表中添加字段text field edit-insert element -text field 鼠标拖拉添加在页面中双击或者右键properties在text field 中输入字段名字, 样式如同$F{text_field_name},

f表示为field变量,是数据库中抽取出来的,你想在报表中显示的数据库内容,

p为parameter参数,是应用需要提供给报表的入口,比如想在报表被解释的时候提供where语句的条件值, 就可以用$P(parameterName)比如: select * from bugs where proname=$P{projectName} order by proname,modulename

v为变量(显示字体颜色为绿色,表示格式正确) border 中可以设置表格边线样式

8 调整报表布局鼠标拖动各个字段,拼接想要的报表布局,如果鼠标点击字段, 显示为红色,说明该字段跨越了两个域显示为绿色,说明两个字段叠加显示为蓝色,说明该字段位置正确

9 报表添加SQL查询语句 资料来源->报表查询(datasource-report query) 在Report SQL query里填写SQl语句。如果语句正确,在下面的field里就会显示正常的表字段。 (可以从显示的所有字段中选取想用做field的字段,点击ok后,自动添加为field动态字段)


10 为报表添加动态字段预览->报表字段(view-Fields) 新建一个字段,字段名字必须和报表中Fields中添加名字一直,同时必须是sql结果集中存在的. (把fields里的字段直接拖到报表上也行)

11 为SQL语句添加参数 预览->报表参数(view-parameters) 在parameters里新增一个参数 paratemeter name 是参数名,在SQL语句里写成"$P{参数名}" paratemeter class type里选择参数类型。 注意:如果是int型的数据,最好在报表字段里将该字段的Class type改成java.lang.String型的。

12 添加报表变量 预览->报表变量 $V{变量名}

13 处理字体 选中字段->右键->properties->font(双击也可以) Report font 选择全局的字体(仅限于该报表) Font name 选择在ireport里面显示的字体 Pdf font name 选择在pdf里面显示的字体 Rotation 选择内容是否旋转(很有用的选项) PDF Encoding 中文要用UniGB-UCS2-H,外部字体要选Identity-H

14 设定该报表的全局字体 预览->报表字型(view-font)

15 编译jrxml 建立->编译 (build-compile) 编译后生成一个后缀名为jasper的binary文件,可以直接给程序调用。




posted on 2007-07-28 13:24 green grass 阅读(1431) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: