FineReport

这篇博客详细介绍了如何使用FineReport进行报表开发,包括创建报表的基本操作、条件属性设置、数据集参数、模板参数、三级联动、参数传递、图表制作、填报报表设计以及函数公式的应用。通过实例展示了各种功能的实现步骤,如数据过滤、图表联动和填报数据校验等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、目的:开发报表

二、创建报表的基本操作方法

1.定义数据链接

2.明细报表

3.分组报表 

4.交叉报表

三、条件属性

1.间隔变色

2.过滤薪资大于3000小于6000的数据 使其加粗变红

3.使奖金为空的数据隐藏 (隐藏行列,行高0)

4.分页 使表格每五行分一页 忽略标题行

 四、数据集参数

1.定义参数

2.绑定控件

3.预览查询

例题:将员工姓名改为模糊查询,并添加部门编号的下拉框控件

再加一个日期限制,将DEPTNO的下拉框改为下拉复选框

五、模板参数

1.定义模板参数

2.绑定控件

3.定义过滤条件 双击单元格→过滤

六、三级联动

1.创建订单报表

2.定义参数

3.要实现货主地区、货主省份、货主城市需定义二级参数和三级参数

4.选择数据字典

5.若要实现参数为空查询全部数据,则使用该语法

七、参数传递 (超链接)

1.第一种方法(网络报表)

(1)创建数据集

(2)给部门表添加超链接

2.第二种方法(动态参数)

八、图表

1.准备数据

2.插入图标

3.定义数据

4.调整样式

5.图表联动

6.图图联动

例题:

九、填报报表

1.报表设计

2.添加控件

3.设置属性

4.前段展现工具添加

5.进行填报

6。添加数据校验(数据校验有两种方式)

例题:

十、函数公式

 1.函数的使用

例题

十一、层次坐标

1.绝对层次坐标

横向扩展应用 

例题

2.相对层次坐标

纵向扩展应用

横向扩展应用

​环比增长值例题

3.双向扩展层次坐标

问题描述

实现思路

例题

4.常用公式

十二、决策报表

十三、决策系统



一、目的:开发报表

FineReport报表软件是一款纯Java编写简单的拖拽操作便可以设计复杂的中国式报表,搭建数据决策分析系统。

二、创建报表的基本操作方法

1.定义数据链接

oracle连接串:主机名:端口/数据库名字

2.明细报表

链接数据集

3.分组报表 

父格一般是从左往右逐级递减,如果将地区的数据设置改为列表,那它之后的所有分组都会解除,如果将销售员的设置改为列表,那地区依然是父格,销售员之后的单元格全部解除;如果一个字段中没有重复数据,那该字段默认列表数据,不会继续分组

4.交叉报表

实现以下报表

地区、销售员为纵向扩展 产品是横向扩展(写错了)

三、条件属性

满足条件的数据,使其表格属性改变

行数语法:

ROW()%行数=0 分页时限制几行
ROW()%2=1 选中奇数行
ROW()%2=0 选中偶数行

1.间隔变色

使单数行变色,偶数行不变色(间隔变色)

最父格背景条件row()%2

2.过滤薪资大于3000小于6000的数据 使其加粗变红

3.使奖金为空的数据隐藏 (隐藏行列,行高0)

isnull($$$)  若该列为空,则隐藏

$$$获取当前单元格的操作符

4.分页 使表格每五行分一页 忽略标题行

最父格分页,row()-2的意思是忽略第一行和第二行的标题列,从第三行开始计算分页

 冻结标题行

 四、数据集参数

1.定义参数

语法

SELECT * FROM 表名
WHERE 字段='${参数名}'

 模糊查询

SELECT * FROM 表名
WHERE 字段 LIKE '%${参数名}%'

2.绑定控件

点击需要生成的控件

3.预览查询

例题:将员工姓名改为模糊查询,并添加部门编号的下拉框控件

注:参数与控件是通过参数名称进行绑定的,也就是说当控件名称与参数名称一致时,参数与控件就进行了绑定,即在 Web 端给控件赋值就相当于给参数赋值。

再加一个日期限制,将DEPTNO的下拉框改为下拉复选框

 原始数值为YYYY/MM/DD 控件日期格式应该相同

下拉复选框的返回值类型直接选字符串,分隔符  ','

五、模板参数

1.定义模板参数

2.绑定控件

3.定义过滤条件 双击单元格→过滤

用模板参数实现部门编号过滤 下拉复选框

六、三级联动

1.创建订单报表

2.定义参数

IN后面记得加括号

3.要实现货主地区、货主省份、货主城市需定义二级参数和三级参数

查找包含于货主地区的货主省份

查找包含于货主省份的货主城市

4.选择数据字典

联动参数的类型应设置为‘数据查询

5.若要实现参数为空查询全部数据,则使用该语法

SELECT * FROM 订单 WHERE 1=1
${if(len(参数)==0,""," and 字段 ='"+参数+"'")}
${if(len(参数)==0,""," and 字段 ='"+参数+"'")}
${if(len(参数)==0,""," and 字段 IN  ('"+参数+"')    ")}
${if(len(参数)==0,""," and 字段 >='"+参数+"'")}
${if(len(参数)==0,""," and 字段 <='"+参数+"'")}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值