您的位置:首页 > 编程语言 > ASP

【iReport+JasperReport】1.iReport与JasperReport基础

2016-07-03 10:32 435 查看
1.什么是iReport与JasperReport

提到iReport,就不得不先说一下JasperReport。JasperReport是一个报表制作程序,用户按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式的文件。它支持输出的文件格式包括PDF、HTML、XML、CSV等等。

而我们使用JasperReport来制作报表时,可以分为以下两种方法:

(1)直接用程序定义一个报表

(2)写一个XML文件来描述这个报表,通常需要借助iReport

JasperReport做报表时用的都是底层的东西,如线条、静态文本等,底层的好处就是强大、容易控制报表,但缺点就是编写很麻烦。这个时候我们的iReport就派上用场了,iReport是一个辅助完成报表界面设计的软件,这个软件完全是弥补JasperReport的不足,将底层编写推向可视化,大大方便了我们。

JasperReport的工作流程,就是首先获取用户组装的含有需要输出的信息的xml文件,然后从xml文件中编译出.jasper类型的文件,然后这个jasper文件可以在我们的应用程序中被加载生成最终的报表。这一点与java非常类似,在java当中,有一个以.java为拓展名的源文件,内容按照java语言的规则去写,源文件通过编译器编译生成一个.class文件,当class使用的时候,它以一个实例的形式通过java的解释器加载到内存当中。

2.软件安装

我们需要安装JDK、iReport与JasperReport。

这里我的JDK版本为1.7(实际上需要1.5以上的版本就可以了)

我的iReport的版本为iReport4.1.3

我的JasperReport版本为JasperReport4.1.3(目前下载的iReport中已经自带JasperReport的jar包了)

至于如何下载,大家根据自己的情况到各大主流网站上都可以下载到上述资源,这里我就不过多赘述了。

3.使用iReport进行第一个报表的打印

在打印报表之前,我们首先分析下JasperReport的报表格式。JasperReport被垂直分成若干个部分,每一个部分我们叫它为“band”。每一个band都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。



接下来我们对每种类型的band分别进行介绍。

(1)Title band:title段只在整个报表的第一页的最上面部分显示,除了第一页以外,不管报表中共有多少个页面也不会再出现Title band中的内容。

(2)pageHeader Band:顾名思义,pageHeader 段中的内容将会在整个报表中的每一个页面

中都会出现,显示在位置在页面的上部,如果是报表的第一页,pageHeader 中的内容将显示在

Title Band下面,除了第一页以外的其他所有页面中pageHeader中的内容将在显示在页面的最上端。

(3)pageFooter Band:显示在所在页面的最下端。

(4)lastPageFooter Band:显示在最后一页的最下端。

(5)Detail Band:报表内容段,在这个Band 中设计报表中需要重复出现的内容,Detail 段

中的内容每页都会出现。

(6)columnHeader Band:针对Detail Band的表头段,一般情况下在这个段中画报表的表

头。

(7)columnFooter Band:针对Detail Band的表尾段。

(8)Summary Band:表格的合计段,出现在整个报表的最后一页中的Detail band 的后面,

一般用来统计报表中某一个或某几个字段的合计值。

接下来我们来初步使用一下iReport。

首先我们打开iReport:





我们选择新建一个报表





选择创建一个A4空白报表,创建完之后就会看到上面我们讲的那个JasperReport的报表格式:



我们要打印数据,就需要获取数据,所以我们要从数据库获取数据信息。所以我们要使用iReport利用数据库链接建立DataSource。

首先我们点击Report Datasource



点new创建一个新的连接,选择一个连接,这里选择的是Database JBDC connection



填写连接名称正确的驱动和URL等,点击测试。成功后保存即可(要注意,这里的数据库和表都是提前要准备好的)。



提示:如果Driver为红色则表示没有这个驱动,需要添加相应的jar包。

添加jar包步骤:

iReport中菜单栏中“工具”-“选项”-“classpath”-“AddJar”,添加相应数据库驱动jar。

接下来为了演示各个band的生成效果,我们可以在报表的各个band里添加不同的对象,以测试各个band的作用。

右键点击报表名称,选择editorquery打开report query界面,输入自己的sql语句,会出现以下界面:



点击ok之后,在主界面的Fileds框中看到Sql查询出来的所有字段:



接下来开始设计我们的报表。

根据需求设计报表,组件面板中各种不同的控件,可以根据自己的需要选择。拖动左侧的Fields中的字段,可以将需要打印的数据放到需要的位置,如图:



注意:报表中普通文字选取的是静态文字控件StaticText,不要选择TextFiled否则预览时会出现错误。

为报表添加函数,在左侧的工具栏中,可以选择Variables来添加相应的函数。我们这里为了统计页数,添加了Page_Number函数。



然后我们点击“Preview”预览效果。



最后一页:



预览效果正常。

至此,我们的第一张报表打印成功。我们到工作空间中去看,会发现一共生成了三个文件,分别是格式为“jrpxml”、“jrxml”与“jasper”的文件。这到后来我们使用JasperReport提供的java的Api,在实际java工程中进行报表打印的时候有重要作用,我们下次继续探讨。
转载请注明出处:http://blog.csdn.net/acmman/article/details/51814181
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: