ireport及jasperreport整合——相关配置收藏

ireport及jasperreport整合——相关配置收藏

一、概述   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/

一、iReport简介


 说到iReport不得不先介绍Jasperreport,Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写 一个XML文件,然后得到用户需要输出的格式文件。它支持输出的文件格式包括PDF,HTML,XML,XLS,CVS等等。而iReport就是一个制 作Jasperreport的XML文件的可视化开发工具。只是一个UI。


二、安装说明


 2.1 基本安装
 现在最新的版本是iReport 0.5.1 (Aug 27, 2005).
 下载后解压然后在根目录双击iReport.bat就可以用了,但是为了可以使用external ttf font还必须要把 iReport-0.5.1/fonts 加到环境变量里面去。
 
 2.2 了解制作报表用的包
 下载后到到 iReport-0.5.1/lib 里看看,你就可以发现iReport的真面目了。
 (1)  jasperreports-1.0.1.jar
 jasperreports 是iReport的核心内容。它是一个强力的报表产生工具,他有能力描述丰富内容到屏幕上、到打印机或到PDF, HTML, XLS, CSV和XML文件。它完全用Java编写的,并可在各种Java应用(包括J2EE或WEB应用)中用来产生动态内容。它的主要目的是以一种简单而灵活 的方式来帮助创建导向的页面。
 JasperReports组织根据在一个XML文件中定义的报表设计通过JDBC来接受来自一个关系数据库中的数据. 为了以数据来填充报表,报表设计必须首先被编译。
 jasperreports的官方网站:http://jasperreports.sourceforge.net/

(2) itext-1.3.1.jar
 iText是一个开放源码的Java类库,是用来生成PDF文件的。
 iText的官方网站:http://itext.sourceforge.net
 如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包。
 tTextAsian的官方下载地址:http://itextdocs.lowagie.com/downloads/iTextAsian.jar
  
(3) jfreechart-1.0.0-rc1.jar
 jfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG等各式的文件。
 这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
 jfreechart的官方下载地址:http://www.jfree.org/jfreechart/
   
(4) jcommon-1.0.0-rc1.jar
 JCommon 是一组有用的classes集合.它已经用在JFreeChart,JFreeReport与其它项目上. 这个类库包含了以下功能: 文本工具类(text utilities), 用来显示关于应用程序信息的用户界面类,布局定制管理器,一个日期选择面板,序列化工具类,XML解析器支持类.
 jcommon的官方下载地址:http://www.jfree.org/jcommon/

(5) poi-2.0-final-20040126.jar
 Apache 的Jakata项目的POI子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属 性如sheet,cell等等。

 

二、使用介绍

1 启动:点击ireport/ireport.bat启动

2 修改语言环境:option-----选项-----general中language中更改-中文(中国)

3.4 基本域
          title域用来放报表的总标题
          pageHeaher域顾名思义页头
          columnHeader域是用来放static text的,也就是不循环的部分。
          detail域是用来放text field的,也就是循环部分。
          pageFooter域是用来放本页的统计参数的。
          summary域是用来放整个表的统计参数的。 

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文件,可以直接给程序调用。 

16、中文问题····
             解决pdf中文问题需要下载itextasian.jar和itext-1.3.jar,将其下载后放到ireport/lib下即可··
             要在这里提一下的是之前我也下载了这两个东东放到指定的位置了可还是乱码,后来还是解决了··
         解决方法:
            在iReport中新建一个TextField的时候会自动把pdf字体设为CP1252,这个是需要修改的, 
            否则pdf输出会报错说找不到字体,我就被这个捆饶了很久,修改如图:                                                        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值