FineReport 8.0 知识大纲(详细版)
以下按功能模块梳理 FineReport 8.0 的主要知识点,可作为学习路线、培训目录或技能清单使用。部分高级功能可能依赖具体小版本或插件,但整体覆盖 8.0 常规能力。
一、FineReport 基础与安装部署
1.1 产品概述
- FineReport 定位与功能架构
- 普通报表、聚合报表、决策报表的区别
- 设计器与服务器的关系
- 应用场景:管理驾驶舱、经营分析、填报采集、移动报表、大屏可视化
1.2 安装与部署
- 环境要求:JDK、Tomcat、操作系统
- Windows / Linux 安装
- 设计器安装与启动
- 服务器独立部署
- Web 应用服务器部署:Tomcat、WebLogic、WebSphere、JBoss、Resin
- 目录结构说明:
- reportlets:报表模板目录
- resources:资源目录
- logs:日志目录
- WEB-INF/config:核心配置文件
- 配置文件说明:datasources.xml、log.xml、server.xml 等
- 端口、内存、字符集设置
- 启动、停止、重启服务
- 版本升级与迁移
- 授权注册与模块激活
1.3 设计器基础
- 设计器界面组成:菜单栏、工具栏、模板面板、数据集面板、属性面板、日志面板
- 模板文件类型:
- .cpt:普通报表、聚合报表
- .frm:决策报表
- 模板预览方式:分页预览、填报预览、数据分析预览、移动端预览
- 模板保存、另存为、版本管理
- 远程设计:连接远程服务器进行模板设计
- 常用快捷键与操作习惯
- 模板加密与模板保护
二、数据连接
2.1 数据源类型
- 关系型数据库:
- MySQL
- Oracle
- SQL Server
- DB2
- PostgreSQL
- SQLite
- Access
- Sybase
- Informix
- 达梦、人大金仓、GBase 等国产数据库
- 多维数据库:
- Microsoft SSAS
- Oracle Essbase
- SAP BW
- Mondrian
- 程序数据源
- 文件数据源:
- Excel
- 文本文件
- XML
- JSON
- 远程文件
- 大数据与 NoSQL(部分需插件):
- Hadoop Hive
- Spark SQL
- Impala
- MongoDB
- Redis
2.2 连接管理
- 新建、编辑、删除数据连接
- 连接池配置
- JDBC / ODBC 连接
- 数据连接测试
- 数据连接权限分配
- 字符编码设置
- 数据库驱动管理
- 数据连接共享与私有
三、数据集与数据准备
3.1 数据集类型
- 数据库查询数据集
- 存储过程数据集
- 内置数据集
- 文件数据集
- SAP 数据集
- 多维数据库数据集
- 程序数据集
- 关联数据集
- 树数据集
3.2 数据库查询
- SQL 编辑器使用
- 多表关联查询
- 参数化查询
- 动态 SQL
- 参数注入:
${}直接替换#{}预编译防注入
- 查询结果预览
- SQL 优化基础
3.3 存储过程数据集
- 调用存储过程
- 输入参数传递
- 返回结果集处理
- 多结果集处理
3.4 文件数据集
- Excel 数据集
- 文本文件数据集
- XML / JSON 数据集
- 远程文件数据集
- 文件路径动态化
3.5 关联数据集
- 多数据集关联
- 关联条件设置
- 关联类型:内连接、左连接、右连接、全连接
3.6 树数据集
- 树数据结构构建
- 父子节点配置
- 用于树控件和下拉树
3.7 程序数据集
- Java 类实现自定义数据集
- 数据列定义
- 数据读取逻辑
- 部署与引用
四、报表设计核心
4.1 报表设计基础
- 单元格概念与命名
- 行列插入、删除、合并
- 单元格选中、移动、复制
- 表格线与边框设置
- 模板网格与纸张大小
- 页面设置:页边距、纸张方向、缩放
4.2 数据列与单元格扩展
- 数据列拖拽与使用
- 扩展方向:
- 不扩展
- 纵向扩展
- 横向扩展
- 父格设置:
- 左父格
- 上父格
- 分组:
- 普通分组
- 相邻连续分组
- 自定义分组
- 条件分组
- 列表展示
- 汇总:
- 求和、计数、平均、最大、最小、方差、标准差
- 累计:
- 逐层累计
- 跨层累计
- 条件累计
- 占比与排名
- 层次坐标:
- 相对层次坐标
- 绝对层次坐标
- 跨层引用
- 位移坐标
- 单元格数据过滤
- 单元格排序
- 自定义值显示
4.3 单元格元素
- 普通文本
- 数据列
- 公式
- 富文本
- 图片
- 图表
- 子报表
- 二维码
- 条形码
- 斜线表头
- 控件
4.4 单元格属性
- 字体、字号、颜色
- 对齐方式
- 自动换行
- 缩进
- 边框与背景
- 行高列宽调整
- 单元格锁定
- 单元格格式:数字、日期、货币、百分比、自定义格式
4.5 单元格形态
- 数据字典:
- 内置数据字典
- 公式数据字典
- SQL 数据字典
- 自定义数据字典
- 公式形态
- 金额大写
- 条形码形态
- 二维码形态
- 自定义形态
4.6 条件属性
- 条件属性添加与管理
- 条件类型:
- 当前值条件
- 公式条件
- 行/列条件
- 条件属性效果:
- 字体颜色、背景色
- 行高列宽
- 新值替换
- 控件类型切换
- 可用/可见控制
- 分页控制
- 打印/导出控制
- 条件优先级管理
4.7 超级链接
- 网络报表链接
- 网页链接
- 邮件链接
- JavaScript 事件
- 动态参数传递
- 下载链接
- 填报提交链接
- 条件超链接
4.8 分页与打印
- 分页设置:
- 行分页
- 列分页
- 分页条件
- 重复标题行/列
- 分页预览
- 冻结行列
- 页面缩放
- 页码、页眉页脚
- 打印设置:打印区域、打印顺序、打印份数
- 导出设置:
- 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 注册与插件
- 注册管理
- 插件管理
- 插件安装、卸载、更新
- 常用插件介绍
十二、集成与二次开发
12.1 页面集成
- iframe 嵌入
- URL 直接访问
- 页面参数传递
- 免登录访问
- 与 Java 项目集成
12.2 JavaScript API
- 常用 JS 方法
- 获取报表对象
- 刷新报表
- 获取参数
- 设置参数
- 提交填报
- 打印、导出
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 线程池配置
- 数据库连接池调优
- 内存监控与分析
- 垃圾回收配置
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 层次坐标函数
- 单元格引用:A1、B2
- 相对层次坐标
- 绝对层次坐标
- 跨层累计
- 条件汇总
- 位移引用
- 层次坐标常见应用:累计、占比、排名、同期比较
14.4 常用公式示例
- 动态标题
- 动态日期
- 条件显示
- 金额大写
- 数据脱敏
- 动态链接
十五、常见问题与最佳实践
15.1 常见错误与排查
- 数据连接失败
- 数据集预览无数据
- 模板无法预览
- 参数无效
- 填报提交失败
- 图表不显示
- 导出乱码
- 内存溢出
- 权限配置不生效
15.2 调试与日志
- 设计器日志查看
- 服务器日志查看
- 调试模式
- 错误码分析
- 性能日志分析
15.3 设计规范
- 模板命名规范
- 数据集命名规范
- 参数命名规范
- 颜色与样式规范
- 报表布局规范
- 大屏设计规范
- 移动端设计规范
15.4 最佳实践
- 复杂报表开发流程
- 填报类报表设计要点
- 可视化大屏设计要点
- 移动端报表设计要点
- 多系统集成方案
- 性能优化实践
- 安全加固实践
- 版本管理与发布流程
以上即为 FineReport 8.0 的完整知识大纲,涵盖了从基础安装到高级集成、性能优化的主要知识点。对每个模块进一步展开细化,进行详细总结,生成obsidian知识图谱。