实现可配置报表,以便快速的适应客户的需求变化。使用 JasperReports + Jaspersoft Studio 工具来实现可配置的报表。
JasperReports 基本介绍
JasperReports 是一个非常强大,易用的开源报表引擎,它是用 Java 编写的。它可以通过各种各样的数据源来生成像素级的文档,这些文档都可以查看,打印以及导出(文档格式包括 HTML、PDF、Excel、Word 等等)。先尝试通过一个简单的 demo 进行上手。
Jaspersoft Studio
Jaspersoft Studio 是一个设计报表模板的工具,我们通过它来设计需要使用报表的模板。
1.下载 Jaspersoft Studio 工具
https://www.aliyundrive.com/s/sH8wM8oWzGk
2.安装 Jaspersoft Studio,安装过程略过,默认安装即可
3.开始我们的第一个报表模板
3.1.打开 Jaspersoft Studio 工具,点击 File->New->Project 先创建一个项目
然后填写项目名字为 demo,创建一个名叫 demo 的项目
3.2.点击 File->New->Jasper Report(也可以直接在 demo 项目上右键 New->Jasper Report),选择一个竖向 A4 纸大小的模板
Data Adapter 可以选择 One Empty Record 选项,即空数据源,完成后就创建好了第一个模板
4.模板设计界面的区域说明如下。中间的模板设计区域分别多个 band,这些 band 都可以右键删除
Title:标题区,如果数据有多页只会在第一页打印
Page Header:页头区,多页的情况下每页都会打印
Column Header:列头区,配合下面的 Detail 区打印列表数据,多页的情况下每页都会打印
Detail:可以新增多个 Detail 区,可以组合打印出多个列表数据,多页的情况下每页都会打印
Column Footer:列表底部区,多页的情况下每页都会打印
Page Footer:页底部区,多页的情况下每页都会打印
Summary:合计区,只会在最后一页打印
5.添加报表元素
5.1.先从右侧 Basic Elements 区域拖拽一个 Static Text 元素到 Title 区,可以任意调整元素的大小和位置,双击可以修改元素要显示的内容,选中元素后,可以在右侧设置元素的边框,字体和大小,文本的对齐方式等等。
5.2.在左侧 Outline 区域 Paramters 上右键 Create Paramter 创建一个新的属性,命名为 name,类型 java.lang.String
5.3.拖拽 name 属性到 Page Header 区域,同样可以在右侧设置它的属性
5.4.在左侧 Outline 区域 Fields 上右键 Create Field 创建两个字段 Field1,Field2,类型 java.lang.String
5.5.然后拖拽 Field1,Field2 字段到 Detail1 区域,会自动带出两个值为 Field1,Field2 的 Static Text 元素在 Column Header 区域,调整位置对齐
5.6.预览可以看看样式,因为此时我们未给 Field1,Field2 的数据集赋值,所以预览的为 null
6.添加二维码
6.1拖入image元素
6.2设置image属性
com.google.zxing.client.j2se.MatrixToImageWriter.toBufferedImage(new com.google.zxing.qrcode.QRCodeWriter().encode(new String($P{supplNo}.getBytes("UTF-8"), "ISO-8859-1"),com.google.zxing.BarcodeFormat.QR_CODE,100,100))
注$P{supplNo} 可替换为需要的参数
7.编译报表模板
7.1.在左侧的 Project Explorer 框文件 Blank_A4.jrxml 上右键 Compile Report 可以生成编译好的文件 Blank_A4.jasper