最近项目中运用JasperReport技术开发报表模块。项目快结束了,所以腾出手来,简单记录一下。与大家相互学习,共同提高。
JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。JasperReport是开源的,对于开发者来说是个不错的选择。然而网上关于JsaperRepors的资料比较杂乱。为此我专门买了本书去学习Jasperreports技术,推荐高洪岩老师的 JasperReports+iReport报表开发详解。
http://download.csdn.net/download/shiyun123zw/10234205
链接:https://pan.baidu.com/s/1AQKUpED4tLo4hLgp5d-bJA ,提取码:x90i
1.2.1到JasperReport官网下载 https://community.jaspersoft.com/community-download
下载 Library Jar包和模板设计器Jaspersoft studio。并安装Jaspersoft studio
1.3.1 打开Jaspersoft Studio ,新建一个project, 步骤: File -> New -> Project-> JasperReports Project
1.3.2 新建一个Jasper Report模板,在 Stidio的左下方Project Explorer 找到刚才新建的Project (我这里新建的是DemoReport),步骤:项目右键 -> New -> Jasper Report
选择 Blank A4 (A4纸大小的模板),然后 Next 命名为DemoReport1.jrxml.
1.3.3 点击 Finish ,生成一个报表模板
如图所示,报表模板被垂直的分层,每一个部分都是一个Band,每一个Band的特点不同,在生成报表的时候有些band多次打印,有些band只打印一次。简单介绍一下:
Title(标题):只在整个报表的第一页的最上端显示。只在第一页显示,其他页面均不显示。
Page Header(页头):在整个报表中每一页都会显示。在第一页中,出现的位置在 Title Band的下面。在除了第一页的其他页面中Page Header 的内容均在页面的最上端显示。
Page Footer(页脚):在整个报表中每一页都会显示。显示在页面的最下端。一般用来显示页码。
Detail 1(详细):报表内容,每一页都会显示。
Column Header(列头):Detail中打印的是一张表的话,这Column Header就是表中列的列头。
Column Footer(列脚):Detail中打印的是一张表的话,这Column Footer就是表中列的列脚。
Summary(统计):表格的合计段,出现在整个报表的最后一页中,在Detail 1 Band后面。主要是用来做报表的合计显示。
Studio的outline显示模板结构:
1.3.4 在Studio的右侧组件面板(Palette)找到静态文本组件(Static Text)
把它拖入到 Detail 1 Band中。并写入文字。保存后点击Preview.
显示静态文本:
Source可以看到Jrxml文件源码: