一、基础认知

1. 产品简介

FineReport 是企业级低代码报表工具,支持报表制作、数据填报、数据可视化大屏,兼容 MySQL、Oracle、SQLServer、PostgreSQL 等主流数据库,适配 PC 端、移动端、大屏多终端展示。

2. 两大核心模板

  1. 普通报表
    基于 Excel 表格布局,依靠单元格扩展,适用于明细报表、汇总报表、交叉统计报表。
  2. 决策报表
    自由画布布局,组件化拖拽,适用于数据大屏、管理驾驶舱、综合分析看板。

3. 核心机制

单元格扩展是帆软开发核心,分为:

  • 向下扩展:展示列表明细数据
  • 向右扩展:动态生成维度列(年月、分类)
  • 父子单元格:控制数据遍历范围,是解决数据错位的关键

二、标准开发流程

  1. 需求梳理:确定查询条件、展示字段、汇总规则、导出、权限、终端适配
  2. 数据准备:配置数据连接、编写 SQL、创建数据集
  3. 模板设计:页面布局、字段绑定、扩展与父格设置
  4. 参数配置:查询控件、参数传参、联动筛选
  5. 样式优化:格式美化、条件格式、排版统一
  6. 高级功能:超链接、钻取、JS 事件、图表、填报
  7. 测试发布:分页测试、大数据量验证、移动端适配、平台发布

三、数据源与数据集

1. 数据集分类

  • 服务器数据集:全局共享,统一维护,适合公共业务报表
  • 模板数据集:仅当前模板生效,适合个性化临时报表

2. SQL 编写规范

  • 禁止 select *,按需指定字段,减少数据库压力
  • 大表必须加时间、范围筛选条件,配合索引
  • 多表关联优先使用联表查询,减少多层子查询

3. 参数SQL写法

  • 字符串条件:where name = '${name}'
  • 数字条件:where id = ${id}
  • 日期条件:where create_time between '${startDate}' and '${endDate}'

四、单元格与常用公式

1. 数据绑定

直接拖拽数据集字段至单元格,支持自定义单元格元素:文本、数据、公式、图表。

2. 高频通用公式

// 空值处理
IF(ISNULL(A1),"--",A1)

// 数值保留2位小数
ROUND(金额,2)

// 日期格式化
DATEFORMAT(日期,"yyyy-MM-dd")

// 求和汇总
SUM(A1[A1:B1])

// 条件文本
IF(数量>100,"异常","正常")

五、参数面板与控件开发

1. 常用控件

文本框、日期选择器、日期区间、下拉单选/多选、树形控件、部门选择器。

2. 开发要点

  • 参数名、控件名统一英文命名,杜绝中文参数
  • 下拉框绑定数据集/数据字典,实现动态选项
  • 配置「参数为空查询全部」,提升使用体验
  • 复杂场景使用控件联动、级联筛选

3. 两种过滤方式

  1. 前置过滤(推荐):SQL where 条件传参,性能最优
  2. 后置过滤:模板内单元格条件过滤,适合轻量报表

六、样式与条件属性

1. 统一样式规范

  • 表头:加粗、居中、固定背景色
  • 内容:文本左对齐、数字居中/右对齐
  • 统一字体、字号、完整边框,保证报表整洁

2. 条件属性常用场景

  • 数据预警:负数标红、超标数据高亮
  • 动态显示:根据权限/参数动态隐藏行列
  • 格式控制:千分位、百分比、自定义颜色

七、高级功能

1. 图表可视化

柱状图、折线图、饼图、环形图、地图、雷达图,支持维度分组、指标计算、预警线、图例自定义。

2. 钻取与超链接

  • 单元格超链接:跳转外部地址、跳转子报表、携带主键参数
  • 层级钻取:汇总报表 → 明细报表,实现数据穿透查询

3. 自定义JS

常用场景:

  • 默认日期赋值(本月、上月、本年)
  • 自定义导出、打印按钮事件
  • 前端数据校验、弹窗提示

4. 填报报表

开启填报模式,设置单元格可编辑、数据校验、提交按钮,实现业务数据线上录入与入库。

八、报表性能优化

  1. SQL 优化:合理加索引、限制查询范围、简化复杂SQL
  2. 数据集优化:复用公共数据集,删除无用冗余数据
  3. 模板优化:合理设置父格、减少多层合并单元格
  4. 大数据方案:开启分页、异步查询、数据集缓存
  5. 资源管控:关闭无用条件属性、减少复杂渲染组件

九、常见问题与解决方案

  1. 数据重复、错乱
    原因:父子格未绑定、多数据集混用
    解决:手动指定父格,拆分独立数据区域

  2. 预览无数据
    原因:参数未传值、SQL语法错误、数据连接异常
    解决:单独执行SQL测试、核对参数格式

  3. 分页错乱
    解决:固定分页行、避免大范围合并单元格

  4. 移动端排版错乱
    解决:决策报表使用自适应容器,减少固定宽高

十、开发规范

  1. 命名规范:数据集、参数、控件使用简洁英文命名
  2. 注释规范:复杂公式、自定义SQL、JS脚本增加注释
  3. 复用规范:公共字典、通用样式、常用数据集统一复用
  4. 安全规范:禁止硬编码账号密码,合理配置数据权限
  5. 版本规范:模板修改前备份,便于问题回滚

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐