用Java报表工具FineReport制作多源分片报表
作者:finereport
浏览:6,848
发布时间:2023.7.31
上图所显示的报表来自多个数据源,而且布局复杂,呈现分片报表的形态。
下面我们来看一下使用Java报表工具实现上述报表的过程:
1.连接数据库FRDemo
2.设计报表
2.1新建报表
2.2新建一数据集
数据集Customer
SQL语句:select CustomerID,CustomerName,CustomerType from customer
数据集CustomerDetail
SQL语句:select CustomerID,Amount,Paid,ProductID,Quantity,TransportDate,Year from CustDetail
数据集CustomerType
SQL语句:select * from CustType
数据集Product
SQL语句:select ProductID,ProductName,Type from product
数据集ProductType
SQL语句:select * from ProType
2.3纵向扩展设计
2.3.1表样设计
按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。
单元格 | 内容 | 基本属性设置 |
B6 | customerType.CustomerID | 从上到下扩展,其余默认 |
C6 | customer.CustomerID | 从上到下扩展,居中,其余默认 |
2.3.2设置过滤
B6和C6的内容分别来自不同的表customerType和customer,为了让其关联起来,在C6单元格上设置过滤。双击C6单元格,进入数据列属性设置对话框,点击过滤标签,如图:
数据列选择CustomerType,操作符选择等于,点击最右边的箭头,选择单元格,设置等于B6单元格,点击增加,如图:预览如图,B6和C6中的内容已经关联起来:
2.4分片一:汇总已签合同的数据
2.4.1表样设计
按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。
单元格 | 内容 | 基本属性设置 |
E6 | customerDetail.paid | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
E7 | customerDetail.quantity | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
2.4.2设置过滤
同样E6和E7的内容和B6,C6来自不同的数据表,为了将其关联起来,对E6和E7设置过滤。E6和E7的过滤条件相同,设置如图:
预览如图:
2.5分片二:汇总已发货的数据
2.5.1表样设计
按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。
单元格 | 内容 | 基本属性设置 |
F6 | customerDetail.paid | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
F7 | customerDetail.quantity | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
2.5.2过滤设置
F6和F7的过滤设置如图:
2.6分片三:按产品汇总
2.6.1表样设计
按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。
单元格 | 内容 | 基本属性设置 |
G4 | ProductType.TypeID | 从左往右扩展,居中,其余默认 |
G5 | Product.ProductID | 从左往右扩展,居中,其余默认 |
G6 | customerDetail.paid | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
G7 | customerDetail.quantity | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
2.6.2过滤设置
G5过滤设置如图:
G6和G7的过滤设置如图:
预览如图:
2.7分片四:汇总已付款数据
2.7.1表样设计
按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。
单元格 | 内容 | 基本属性设置 |
H6 | customerDetail.paid | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
H7 | customerDetail.quantity | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
2.7.2过滤设置
H6和H7的过滤设置如图:
2.8分片五:按年汇总
2.8.1表样设计
按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。
单元格 | 内容 | 基本属性设置 |
I4 | customerDetail.year | 从左往右扩展,居中,其余默认 |
I6 | customerDetail.paid | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
I7 | customerDetail.quantity | 数据设置:汇总—求和,左父格:C6,居中,其余默认 |
2.8.2过滤设置
I6和I7的过滤设置如图:
3.保存预览
报表工具产品更多介绍:www.finereport.com