开发者使用JasperReport——简介

前言

   由于近期要做一个B/S形式的报表,而网上的都是C/S形式的(如FineReportIreport),当然也有比较好的,但是太贵,于是决定找一个已经做好报表功能的类库,然后对其进行二次开发,所以最后找到了JasperReport这个报表类库,它实现了从配置文件之后的工作(读取配置文件,生成报表,导出报表),而我需要做的就是将网页上的页面写入到配置文件中即可。

 

正题

1.简介

   JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。

 

   JasperReport是开源的,但是文档比较少,中文的更少,我看了一个《JasperReport For Developers》,是英文版的,正好符合我的需要,我会在后面的博客中陆续将这本书中的一些小实例跟大家分享。

 

   注:我说文档少,主要是因为JasperReport一般都是和IReport一起使用的,IReportJasperReport的可视化设计工具(也是开源的),是c/s版的,但是由于我需要的是B/S版本的,所以需要对JasperReport进行二次开发,其实相当于做IReport的工作。

 

2.JasperReport的主要功能

   JasperReport是一个报表生成工具,那么我们就需要先知道它已经做了哪些工作,然后我们才能够确定我们需要做什么工作:

 

1)解析XML文件

   jasperReport已经封装了一个dtd,只要按照规定的格式写这个xml文件,那么jasperReport就可以将其解析最终生成报表,但是jasperReport所解析的不是我们常见的*.xml文件,而是*.jrxml文件,其实跟xml是一样的,只是后缀不一样。

 

2)编译jrxml文件

   解析完成后JasperReport就开始编译.jrxml文件,将其编译成.jasper文件,因为JasperReport只可以对.jasper文件进行填充数据和转换,这步操作就跟我们java中将java文件编译成class文件是一样的。

 

3Report Design预览

   其实jrxmljasper文件都只是一个报表模版,还没有进行数据填充(可能只有标题,格式和页眉页脚),但是此时也可以预览报表的(具体方法以后会讲到),因为JasperReport本身提供了一个很有用的可视化组件来帮助报表设计者在编译的时候预览报表设计

 

4)报表填充

   这一步才是JasperReport的核心所在,它会根据你在xml里面写好的查询语句来查询指定是数据库,也可以控制在后台编写查询语句,参数,数据库。在报表填充完后,会再生成一个.jrprint格式的文件(读取jasper文件进行填充,然后生成一个jrprint文件)。

 

5)查看报表

   前面说到了可以使用ReportDesign对报表进行预览,但是JasperReport拥有一个内置的查看器,用来查看jrprint报表文件

 

6)打印报表

   JasperReport类库的主要目标,就是生成可打印的文档,这也是我们做报表的目的,这个方法已经在JasperReport中提供。

 

7)导出报表

   虽然JasperReport有内置的工具可以查看报表,但是为了更方便的查看,我们需要将JasperReport导出成常见的格式(如pdfhtml等),JasperReport也为我们提供了该功能。

 

小结:

   综上所述,在JasperReport的基础上对报表进行开发,省了我们很大的功夫,我们只需要做页面,然后将页面的东西按照规范写入到xml后,报表就基本完成了,所以我们要时刻谨记“站在巨人的肩膀上”。

 

你可能感兴趣的:(开发者使用JasperReport——简介)