Jaspersoft Studio生成jxml文件(本文数据源为直接读取数据库)
配置数据连接
要做报表,先要配置一个数据库连接,在左侧Repository Explorer区中,在“Data Adapter”上点击鼠标右键,选择“Create Data Adapter”,创建我们自己的“数据适配器”。系统显示如下界面:
选择数据源的类型。用的是关系型数据库,点击选择Database JDBC Connection,建立数据库连接:
点击下一步后的界面:
注:jdbc连接数据库需要导入数据库驱动包(如下图)
创建新报表
Jaspersoft Studio提供了丰富多样的报表和图表,几乎可以满足日常工作的各种需要。
在这里,我们选择最标准的A4竖向空白报表:
选择完毕,点击“Next”。系统显示“名称和位置”界面,可以在这里设置报表的名称,以及报表文件存储的位置:
这里我们将报表文件的名称改为了Demo10,然后,点击Next,会出现一个让我们选择数据源的窗口,在这里我们就选择在配置数据源模块中新建的那个数据库连接ceshi;会出现设置查询语句的界面,查询需要编制报表的原始数据,我们想让报表给我们展示哪个数据表的哪些数据项,就在此写入相应的查询sql查询语句:
点击Next,会出现一个让我们选择报表展示项的界面,如果我们想让哪个数据项展示在报表中,我们就把它从左侧框添加到右侧框中:
点击Next,会出现一个让我们选择分组项的窗口
注意:在“Fields”列表中,只保留报表中使用的字段,其他用不到的字段最好用“Delete”删掉,防止由于数据表变化,导致报表模板中的字段设置与数据表对应不上,导致报表报错。
输入完毕后,点击“Next”按钮,系统即会把查询语句保存在报表模板中:
接着点击Next,报表相关信息都已填写完毕,Finish完成即可:
我们会看到如下空白的报表页面:
报表各部分组成
报表被垂直分成若干个部分,每一个部分我们叫它“band”。每一个band都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。
Title Band:
报表的表头。只在首页打印一次。
PageHeader Band:
报表的页首。每页都打印,显示的位置在页面的上部。如果是报表的第一页,pageHeader 中的内容将显示在Title Band 下面,除了第一页以外的其他所有页面中,pageHeader 中的内容将显示在页面的最上端,即页眉。
ColumnHeader Band:
报表的行首,通常用来定义行的字段名称。每页都打印。
Detail Band:
报表的内容。根据数据数量,自动循环输出。
ColumnFooter Band:
报表的行尾,可用来告知报表的一些参数,诸如页码等。每页都打印。
PageFooter Band:
报表的页尾。每页都打印,显示在所在页面的最下端,即页脚。
Summary Band:
表格的合计段,计算用,出现在整个报表的最后一页中的Detail band 的后面,一般用来统计报表中某一个或某几个字段的合计值。
LastPageFooter:
内容将会出现在报表的最后一页的最后部分。
制作报表步骤
添加表头
我们可以在右侧“Elements”中找到需要的所有组,首先需要设定表头。表头中,一般都是报表的名称,所以添加不可修改的文字即可。
如果表头只在第一页输出,则需要将表头文字放在“Title”区;如果表头每页都要输出,则应该放在“pageHeader”,即“页首”区。
点击“Elements”上的“Static Text”组件,如下图:
调整staticText的样式:
用table创建表格,将table组件拖入summary,创建table的数据集与创建报表的数据集步骤一致,这里就不在进行演示;table创建完如下所示:
删除表格多余行,添加所需求的列,用text field 组件传入查询出来的参数,如图所示:
去除多余band:
自定义函数统计学生人数:
右键点击 fx variable,点击create variable
修改函数名,值类型,函数类型:
拖入textfield组件,选择上一步定的函数,如图:
效果如下图所示: