FineReport 8.0 知识图谱(MOC)

本笔记为 FineReport 8.0 知识体系的 Obsidian 总索引,覆盖安装部署、报表设计、参数查询、图表、填报、决策报表、移动端、权限安全、系统运维、集成开发、性能优化、公式函数等模块。各模块通过 [[]] 双链连接,形成知识图谱。

模块导航


一、FineReport 基础与安装部署

1.1 产品概述

  • 定位:企业级 Web 报表工具,支持复杂报表、填报、大屏、移动端。
  • 报表类型:
    • 普通报表(.cpt):类 Excel 设计,支持扩展、分组、交叉。
    • 聚合报表(.cpt):不规则报表,通过聚合块拼接。
    • 决策报表(.frm):可视化大屏/驾驶舱,组件化布局。
  • 架构:设计器(本地设计)+ 服务器(Web 应用)+ 数据库/数据源。
  • 典型场景:管理驾驶舱、经营分析、数据填报、移动报表、大屏可视化。

1.2 安装与部署

  • 环境要求:JDK 1.6+(建议 1.8)、Tomcat 6+、Windows/Linux。
  • 部署方式:
    • 独立部署:使用内置 Tomcat。
    • 集成部署:将 Web 工程放入 Tomcat、WebLogic、WebSphere、JBoss 等。
  • 目录结构:
    • reportlets:报表模板存放目录。
    • resources:图片、样式等资源。
    • logs:日志文件。
    • WEB-INF/config:核心配置(datasources.xml、log.xml、server.xml)。
  • 配置文件:
    • datasources.xml:数据源连接池配置。
    • server.xml:服务器端口、内存、字符集。
  • 服务管理:启动、停止、重启;Windows 服务注册;Linux 脚本。
  • 升级与迁移:版本升级需备份模板、配置、数据库;迁移注意授权文件。
  • 授权注册:导入 license 文件,激活模块。

1.3 设计器基础

  • 界面:菜单栏、工具栏、模板面板、数据集面板、属性面板、日志面板。
  • 文件类型:.cpt(普通/聚合)、.frm(决策报表)。
  • 预览方式:分页预览、填报预览、数据分析预览、移动端预览。
  • 远程设计:连接远程服务器,直接编辑服务器模板。
  • 模板加密:保护模板不被篡改。

相关:二、数据连接、四、报表设计核心、十一、系统管理与运维


二、数据连接

2.1 数据源类型

  • 关系型数据库:MySQL、Oracle、SQL Server、DB2、PostgreSQL、SQLite、Access、Sybase、Informix、达梦、人大金仓、GBase。
  • 多维数据库:SSAS、Essbase、SAP BW、Mondrian。
  • 程序数据源:Java 自定义数据源。
  • 文件数据源:Excel、文本、XML、JSON、远程文件。
  • 大数据/NoSQL(部分需插件):Hive、Spark SQL、Impala、MongoDB、Redis。

2.2 连接管理

  • 连接操作:新建、编辑、删除、测试。
  • 连接池:最大连接数、超时时间、空闲回收。
  • JDBC/ODBC:加载驱动,配置 URL、用户名、密码。
  • 权限:数据连接可分配给特定用户/角色。
  • 字符编码:解决中文乱码。
  • 驱动管理:上传 JDBC 驱动 jar 包。

相关:三、数据集与数据准备、十三、性能优化


三、数据集与数据准备

3.1 数据集类型

  • 数据库查询、存储过程、内置、文件、SAP、多维数据库、程序、关联、树数据集。

3.2 数据库查询

  • SQL 编辑器:语法高亮、多行编辑。
  • 多表关联:JOIN、子查询。
  • 参数化查询:使用 where 字段 = '${参数}'。
  • 动态 SQL:
    • ${}:直接替换,存在 SQL 注入风险。
    • #{}:预编译参数,安全防注入。
  • 预览:查看数据集结果。
  • SQL 优化:避免 SELECT *,建立索引,减少关联表。

3.3 存储过程数据集

  • 调用数据库存储过程,传递输入参数,处理单/多结果集。

3.4 文件数据集

  • Excel:支持 xls/xlsx,指定 sheet 和区域。
  • 文本:分隔符解析。
  • XML/JSON:解析结构化数据。
  • 远程文件:通过 HTTP 获取文件,路径可参数化。

3.5 关联数据集

  • 多数据集通过关联条件组合,支持内连接、左连接、右连接、全连接。

3.6 树数据集

  • 构建父子层级,用于树控件、下拉树、组织架构展示。

3.7 程序数据集

  • 实现 Java 接口,自定义数据读取逻辑,部署到服务器。

相关:五、参数与查询、十四、公式与函数


四、报表设计核心

4.1 报表设计基础

  • 单元格命名(A1、B2)、行列操作、合并、边框、纸张与页面设置。

4.2 数据列与单元格扩展

  • 扩展方向:不扩展、纵向扩展、横向扩展。
  • 父格设置:左父格、上父格,控制扩展归属。
  • 分组:普通分组、相邻连续分组、自定义分组、条件分组。
  • 汇总:SUM、COUNT、AVG、MAX、MIN、VAR、STDEV。
  • 累计:逐层累计、跨层累计、条件累计。
  • 占比与排名:百分比、RANK。
  • 层次坐标:
    • 相对层次坐标:A1[A2:1] 表示取当前组内第一条。
    • 绝对层次坐标:A1[!0] 表示取全部。
    • 位移坐标:A1[A2:-1] 上一条。
  • 数据过滤、排序、自定义值显示。

4.3 单元格元素

  • 文本、数据列、公式、富文本、图片、图表、子报表、二维码、条形码、斜线表头、控件。

4.4 单元格属性

  • 字体、对齐、自动换行、缩进、边框背景、行高列宽、锁定、格式(数字/日期/货币/自定义)。

4.5 单元格形态

  • 数据字典:内置、公式、SQL、自定义。
  • 公式形态:动态显示内容。
  • 金额大写:数字转中文大写。
  • 条形码/二维码形态:生成条码、二维码。
  • 自定义形态:Java 类扩展。

4.6 条件属性

  • 条件类型:当前值、公式、行/列条件。
  • 效果:字体颜色、背景色、行高列宽、新值替换、控件切换、可见性、分页控制、打印/导出控制。
  • 优先级:从上到下依次匹配。

4.7 超级链接

  • 类型:网络报表、网页、邮件、JavaScript、动态参数传递、下载、填报提交。
  • 条件超链接:满足条件才显示链接。

4.8 分页与打印

  • 分页设置:行分页、列分页、分页条件。
  • 重复标题行/列、冻结行列、页面缩放。
  • 页眉页脚、页码。
  • 打印:区域、顺序、份数。
  • 导出:PDF、Excel、Word、图片、HTML、CSV。

4.9 样式与主题

  • 全局样式、预定义样式、样式继承、模板主题。

4.10 聚合报表设计

  • 聚合块创建、大小位置调整,适合不规则报表。

相关:五、参数与查询、六、图表、十四、公式与函数


五、参数与查询

5.1 参数基础

  • 类型:模板参数、数据集参数、全局参数。
  • 默认值、数据类型(字符串、数字、日期、布尔)。

5.2 参数面板

  • 设计参数面板布局,控件绑定参数,查询按钮触发查询,参数联动。

5.3 参数控件类型

  • 文本、数字、日期、下拉框、下拉复选框、单选框组、复选框组、树、下拉树、列表、按钮、文件、密码、标签、查询按钮、网页框。

5.4 控件属性

  • 默认值、数据字典、是否允许为空、可见性、可用性。
  • 事件:初始化后、值改变、点击、编辑前、编辑后。

5.5 参数传递

  • URL 参数:?参数名=值。
  • 超级链接传参、JavaScript 传参、模板间传参、参数回传与联动。

5.6 参数高级应用

  • 动态列、动态表名、动态排序、参数化 SQL、防注入、参数与数据字典联动。

相关:三、数据集与数据准备、四、报表设计核心、六、图表


六、图表

6.1 图表类型

  • 柱形图、条形图、折线图、面积图、饼图、环形图、仪表盘、雷达图、散点图、气泡图、组合图、甘特图、漏斗图、热力地图、区域地图、点地图、GIS 地图(插件)、HTML5 图表。

6.2 图表数据配置

  • 数据来源:数据集或单元格数据。
  • 分类、系列、值设置,多系列,数据过滤、排序、汇总。

6.3 图表属性

  • 标题、图例、数据标签、坐标轴、网格线、提示框、交互、颜色样式、背景边框。

6.4 图表交互

  • 图表联动、钻取、超级链接、刷新、动态展示、自适应。

6.5 地图

  • 内置地图、自定义地图、数据绑定、钻取、联动、配色。

相关:四、报表设计核心、八、决策报表与可视化大屏


七、填报

7.1 填报基础

  • 填报与查看区别,填报模板设计,填报属性设置。

7.2 填报控件

  • 文本、数字、日期、下拉框、下拉复选框、单选框组、复选框组、文件上传、图片上传、文本域、密码、按钮、列表、树。

7.3 数据提交

  • 提交类型:智能提交、插入提交、更新提交、删除提交。
  • 提交条件:满足条件才提交。
  • 提交事件:提交前、提交后、提交失败。
  • 多源填报:多个数据源同时写入。
  • 多 Sheet 填报、批量填报。

7.4 数据校验

  • 必填、长度、格式、自定义校验、提示信息。

7.5 填报交互

  • 导入 Excel、批量导入、行式填报、填报暂存、数据回填、权限控制。

相关:四、报表设计核心、十、权限与安全


八、决策报表与可视化大屏

8.1 决策报表基础

  • 概念:组件化报表,适合大屏。
  • 布局:绝对布局、自适应布局。

8.2 决策报表组件

  • 报表块、图表块、参数面板、控件、Tab 块、网页框、图片、文本、按钮。
  • 组件拖拽、缩放、对齐、层级。

8.3 组件交互

  • 参数联动、组件刷新、超级链接跳转、组件事件、报表块与图表块联动。

8.4 自适应与分辨率

  • 屏幕分辨率适配、组件自适应、缩放模式、大屏尺寸设计、背景设置、动画效果。

8.5 决策报表预览

  • 分页预览、填报预览、数据分析预览、移动端预览。

相关:六、图表、九、移动端、十五、常见问题与最佳实践


九、移动端

9.1 移动端概述

  • 移动端 App、HTML5 移动端,与 PC 端差异。

9.2 移动端报表设计

  • 移动端模板布局、手机重布局、控件适配、移动端图表、移动端填报。

9.3 移动端特有功能

  • 扫码、定位、拍照上传、消息推送、批注、离线预览(视版本)、缓存。

9.4 移动端集成

  • 微信集成、钉钉集成、App 集成、单点登录、移动端权限。

相关:八、决策报表与可视化大屏、十、权限与安全


十、权限与安全

10.1 用户与组织

  • 用户、角色、部门、岗位管理,导入导出,关联关系。

10.2 报表权限

  • 目录权限、模板权限、工具栏权限、按钮权限、单元格权限。
  • 权限粒度:查看、填报、修改、删除、导出、打印。

10.3 数据权限

  • 行权限、列权限、数据连接权限、规则配置。

10.4 登录认证

  • 内置认证、LDAP/AD、单点登录(SSO)、OAuth、验证码、登录页定制。

10.5 安全设置

  • HTTPS、数据库密码加密、防 SQL 注入、水印、防下载/打印、模板加密、操作日志审计。

相关:十一、系统管理与运维、十二、集成与二次开发


十一、系统管理与运维

11.1 平台管理

  • 目录管理、报表挂载、节点管理、主题管理、外观设置、首页设置。

11.2 定时调度

  • 任务创建、频率(简单重复、固定周期、Cron 表达式)。
  • 输出格式:PDF、Excel、Word、图片、HTML、CSV。
  • 推送方式:邮件、FTP、短信。
  • 任务日志、监控、失败重试。

11.3 日志管理

  • 访问日志、操作日志、错误日志、内存日志、日志级别设置、导出与清理。

11.4 备份与恢复

  • 模板、配置、数据库备份,系统迁移,版本回滚。

11.5 性能监控

  • 系统信息、内存、线程、连接池、会话监控。

11.6 注册与插件

  • 注册管理、插件安装/卸载/更新、常用插件介绍。

相关:一、FineReport 基础与安装部署、十三、性能优化


十二、集成与二次开发

12.1 页面集成

  • iframe 嵌入、URL 直接访问、参数传递、免登录访问、与 Java 项目集成。

12.2 JavaScript API

  • 获取报表对象、刷新报表、获取/设置参数、提交填报、打印、导出。

12.3 单点登录集成

  • SSO 原理、Token 认证、Cookie 认证、与 OA/ERP 集成。

12.4 自定义开发

  • 自定义函数、控件、程序数据集、提交、数据源、决策报表组件、事件处理。

12.5 插件开发

  • 插件工程搭建、配置、打包部署、生命周期、调试。

12.6 接口与 WebService

  • RESTful 调用、WebService 集成、数据推送接收、跨系统数据交互。

相关:十、权限与安全、十四、公式与函数


十三、性能优化

13.1 报表层优化

  • 数据集优化、减少数据量、分页查询、单元格扩展优化、公式优化、条件属性优化、图表优化、模板缓存、异步加载。

13.2 SQL 层优化

  • SQL 语句优化、索引设计、避免全表扫描、减少关联表、参数注入与预编译、连接池配置。

13.3 服务器层优化

  • JVM 参数(-Xms、-Xmx、-XX:MaxPermSize)、Tomcat 线程池、数据库连接池、内存监控、GC 配置。

13.4 集群与负载均衡

  • Nginx 负载均衡、Session 共享(Redis)、文件同步、集群部署、高可用架构。

13.5 大数据量处理

  • 设计策略、分页加载、数据缓存、异步加载、数据抽取与预处理。

相关:二、数据连接、十一、系统管理与运维


十四、公式与函数

14.1 公式基础

  • 单元格公式、参数公式、条件公式、SQL 公式、语法与引用。

14.2 函数分类

  • 数学与三角:SUM、ABS、ROUND、CEILING、FLOOR、MOD、POWER、SQRT、SIN、COS、TAN。
  • 文本:CONCATENATE、LEFT、RIGHT、MID、LEN、TRIM、UPPER、LOWER、REPLACE、SPLIT、FORMAT。
  • 日期时间:NOW、TODAY、DATE、YEAR、MONTH、DAY、HOUR、MINUTE、SECOND、DATEDIFF、DATEADD。
  • 逻辑:IF、AND、OR、NOT、SWITCH、CASE。
  • 数组:ARRAY、INDEXOF、ARRAYLEN。
  • 报表:COUNT、SUM、AVG、MAX、MIN、VAR、STDEV、RANK、PERCENT。
  • 数据库:SQL、SQLSELECT、SQLVALUE。
  • JSON:JSONPARSE、JSONGET、JSONSET。
  • 正则:REGEXP、REGEXPREPLACE。
  • 加密:MD5、SHA、BASE64、ENCRYPT。
  • 其他:UUID、EVAL、GETURLPARAM、GETCELLVALUE。

14.3 层次坐标函数

  • 单元格引用、相对层次坐标、绝对层次坐标、跨层累计、条件汇总、位移引用。
  • 应用:累计、占比、排名、同期比较。

14.4 常用公式示例

  • 动态标题、动态日期、条件显示、金额大写、数据脱敏、动态链接。

相关:四、报表设计核心、五、参数与查询


十五、常见问题与最佳实践

15.1 常见错误与排查

  • 数据连接失败、数据集预览无数据、模板无法预览、参数无效、填报提交失败、图表不显示、导出乱码、内存溢出、权限不生效。

15.2 调试与日志

  • 设计器日志、服务器日志、调试模式、错误码分析、性能日志分析。

15.3 设计规范

  • 模板/数据集/参数命名规范、颜色样式规范、报表布局规范、大屏设计规范、移动端设计规范。

15.4 最佳实践

  • 复杂报表开发流程、填报类报表设计要点、可视化大屏设计要点、移动端设计要点、多系统集成方案、性能优化实践、安全加固实践、版本管理与发布流程。

相关:一、FineReport 基础与安装部署、十三、性能优化


使用说明(Obsidian 图谱构建)

  1. 创建主笔记:将本文件保存为 FineReport 8.0 知识图谱.md。
  2. 拆分模块:每个 ## 模块 标题下的内容可复制到独立笔记,文件名与 [[]] 中的链接保持一致(例如 一、FineReport 基础与安装部署.md)。
  3. 建立双链:模块间已通过 [[]] 链接,拆分后自动形成知识图谱。
  4. 添加标签:可根据需要为每个模块笔记添加 YAML frontmatter,如 tags: [FineReport, 报表]。
  5. 细化子节点:可进一步将每个模块下的 ### 小节拆分为独立笔记,使用 [[模块名#小节标题|小节标题]] 链接。