Back to skills
extension
Category: Data & AnalyticsNo API key required

报表助手

实现帆软 FineReport 11.0 企业级报表产品能力。当用户需要中国式复杂报表(分组报表/交叉报表/主子报表/聚合报表/行列扩展/汇总统计)、决策报表与数据大屏(Dashboard 驾驶舱/图表联动/钻取)、参数查询(下拉框/日期控件/联动过滤)、数据填报(录入/校验/导入)、图表可视化、报表导出打印(PDF/Excel/Word)、权限与定时调度等报表场景时使用,无需安装 FineReport,以 Web(HTML+ECharts)与 Excel(openpyxl)产出等价成果。触发词:FineReport、帆软报表、中国式报表、分组报表、交叉报表、主子报表、报表大屏、数据大屏、驾驶舱、决策报表、数据填报、报表导出、报表设计。

personAuthor: user_b6ce042chubcommunity

FineReport11.0 — 帆软报表能力实现

Overview

本 Skill 让 WorkBuddy 在不安装 FineReport 的情况下,产出与帆软 FineReport 11.0 等价的企业级报表成果:Web 报表/大屏(HTML + ECharts)Excel 中国式报表(openpyxl) 两种形态,覆盖四大能力模块:中国式复杂报表、决策报表与大屏、参数查询与填报、导出打印与调度。同时提供 FineReport 11.0 能力地图(references/finerport-capabilities.md),用于需求识别与方案映射。

需求识别与形态选择

接到报表需求后,先识别报表类型并选择输出形态(可组合):

| 需求特征 | 输出形态 | 参考资源 | |---|---|---| | 决策报表 / 数据大屏 / 驾驶舱 / 图表分析 / 联动钻取 | Web 报表(HTML+ECharts) | references/web-report-guide.mdassets/web-report-template.html | | 中国式复杂报表 / 填报 / 数据下发(分组、交叉、主子、汇总、导出 Excel) | Excel 报表(openpyxl .xlsx) | references/excel-report-guide.mdscripts/build_grouped_excel_report.py | | 既要可视化又要数据文件(常见于经营分析) | 混合:Web 展示 + 提供 Excel 下载链接/文件 | 两个指南均需阅读 | | 需求方只要方案/设计文档 | 方案文档:用能力地图输出报表设计方案、模板结构、实现指导 | references/finerport-capabilities.md |

核心工作流

Step 1 澄清需求(必做,不要假设)

确认以下要素,缺失时向用户提问:

  1. 报表类型:普通报表(分组/交叉/主子/聚合)还是决策报表(大屏/驾驶舱)?
  2. 数据来源:用户提供 CSV/Excel/JSON,还是需要内置示例数据,或从数据库取数?
  3. 维度与指标:行分组字段、列分组字段、汇总指标及计算方式(求和/均值/占比/环比/同比)。
  4. 参数:需要哪些过滤控件(日期范围、下拉选择、文本框),是否有联动关系。
  5. 输出形态与用途:浏览器预览、导出 Excel、打印、还是用于汇报。

Step 2 准备数据

  • 将数据整理为结构化数据集(列表 of dict 或 DataFrame),字段名清晰、类型正确。
  • 涉及数值计算(合计、占比、环比、同比、增长率等)时,必须用代码计算(Python 或 JS),禁止在思维中口算。
  • 数据量较大时,先做聚合再渲染,避免页面卡顿或 Excel 文件过大。

Step 3 构建报表

  • Web 形态:读取 references/web-report-guide.md 的布局与交互模式;以 assets/web-report-template.html 为骨架复制到工作区,替换示例数据、图表与控件。
  • Excel 形态:读取 references/excel-report-guide.md 的模式;可运行 scripts/build_grouped_excel_report.py 作为起点改造。
  • 混合形态:Web 页面内提供「导出 Excel」按钮(前端生成或后端 openpyxl 生成文件后由用户下载)。

Step 4 质量检查(交付前必检)

  • [ ] 报表类型与用户需求一致(分组/交叉/主子是否按需实现)
  • [ ] 合计、小计、占比、环比等数值已由代码计算并核验
  • [ ] 主题适配:Web 报表背景与文字颜色匹配当前 IDE 主题(浅色/深色)
  • [ ] 金融/股票类指标遵循中国惯例:涨红跌绿、货币 ¥
  • [ ] Excel:表头合并正确、边框完整、数字格式(千分位/百分比/¥)、冻结窗格与打印设置合理
  • [ ] 参数控件可用,过滤结果正确,联动/钻取无死链

四大能力模块实现要点

模块 A:中国式复杂报表

  • 分组报表:行分组 + 组内明细 + 小计行 + 总计行;Web 用 <table> 渲染分组行(跨行合并),Excel 用合并单元格。
  • 交叉报表:行维度 × 列维度双向扩展,交叉点为汇总值;先代码透视(pivot)再渲染。
  • 主子报表:主子表通过主键关联;Web 用 Tab 或联动明细区,Excel 用多个 sheet。
  • 聚合报表/不规则报表:斜线表头、多表头、自由布局单元格(Web 用 CSS grid 模拟,Excel 用合并单元格 + 对角线边框)。
  • 行列扩展、单元格合并与对齐是 FineReport 普通报表的核心,实现时优先保证结构还原度

模块 B:决策报表与大屏

  • 组件化布局:指标卡(KPI)、图表区、表格区、Tab 页签,参考驾驶舱三段式(顶部标题栏 + 中部主体 + 底部页脚)或栅格布局。
  • 图表选择:趋势→折线/面积,占比→饼/环形/南丁格尔,对比→柱状/条形,排名→条形,分布→散点/热力,地图→ECharts 中国地图。
  • 交互:参数过滤重渲染、图表点击联动(事件驱动)、钻取下钻(点击柱状图→月度明细)。
  • 大屏氛围:深色渐变背景 + 发光描边 + 数字滚动动画 + 自动轮播(仅当用户明确要大屏风格;普通报表保持简洁)。

模块 C:参数查询与填报

  • 参数面板:日期范围、下拉选择(数据字典)、文本框、多选;触发方式「查询」按钮或即时过滤。
  • 联动:A 控件变化 → 重载 B 控件选项 → 刷新报表(Web 用 JS 事件链,Excel 用数据验证下拉 + INDIRECT 或预生成多 sheet)。
  • 填报:Web 用表单 + 输入校验(必填/格式/范围)模拟数据录入;Excel 用 DataValidation(整数/小数/序列/自定义公式)做录入校验,并可用 openpyxl 生成「填报模板」由业务填写。
  • 参数 URL 传递(Web 用 query 参数)与默认值设定。

模块 D:导出打印与调度

  • Web 导出:window.print() 打印(配置 @media print),ECharts getDataURL() 导出 PNG,表格导出 CSV;需要 .xlsx 时后端 openpyxl 生成。
  • Excel 导出:print_areapage_setup(A4/横向/缩放适配)、print_title_rows(每页重复表头)、页眉页脚、水印(背景图片+只读建议)。
  • 权限:方案文档中给出角色/数据权限设计(对应 FR 权限管理);实际交付物可用「按角色生成不同数据视图」模拟。
  • 定时调度:提示用户可将生成脚本配置为 WorkBuddy 定时任务(automation),实现自动取数/生成/推送。

通用规范(严格遵守)

  1. 主题适配:Web 报表必须匹配当前 IDE 主题(浅色主题用浅背景深文字,深色主题用深背景浅文字);图表颜色显式设置,不使用会退回黑色的隐式 fill。
  2. 中国式数字习惯:金额默认 ¥ 与千分位;百分比带一位小数;金融场景红涨绿跌。
  3. 中文报表风格:表头居中加粗带底色、合并单元格表达层级、重要合计行突出(加粗/浅色底纹)。
  4. 代码即事实:所有数值计算落地为代码并运行验证;不依赖口算。
  5. 文件落盘:生成的 HTML/Excel 写入工作区并明确给出路径;Excel 用 openpyxl(无依赖环境问题时在 venv 安装)。

Resources

references/

  • finerport-capabilities.md — FineReport 11.0 产品能力地图(官方能力 → 本 Skill 实现映射表),用于需求识别与方案文档。
  • web-report-guide.md — Web 报表/大屏实现指南:页面结构、布局模式、ECharts 主题与图表选型、参数联动钻取、导出打印、代码模式。
  • excel-report-guide.md — Excel 中国式报表实现指南:分组/交叉/主子报表模式、样式、公式、数据验证、打印设置与完整示例。

assets/

  • web-report-template.html — 通用报表/大屏起步模板:标题 + 参数面板 + KPI 指标卡 + ECharts 图表 + 明细表,内置示例数据,含浅/深主题适配与打印样式。复制到工作区后改造。

scripts/

  • build_grouped_excel_report.py — 分组报表 Excel 生成示例(含小计/合计/样式/打印设置),作为 Excel 报表起点模板,可改造或参考。