excel-dashboard 技能
概述
把用户发送或上传的 Excel/CSV 表变成单文件离线可视化看板,并在打开后支持追加导入其他月份数据自动合并,无需联网、双击即用。
使用方法
方式 A — 命令行首次生成
python build_dashboard.py 表1.xlsx [表2.xlsx ...] [--title 看板标题]
产出:D:\看板\<表名或标题>_YYYYMMDD.html,并自动用默认浏览器打开。
方式 B — 在已打开的看板上追加导入 / 删除
- 看板顶部「数据导入」面板会显示已合并的文件清单(初始文件 + 追加文件)与汇总,每个文件右侧有 ✕ 删除按钮
- 点击【追加导入其他月份Excel】或把 Excel 拖到虚线框(可一次选多个)→ 自动:解析 → 字段校验(按初始 rename 规则与模糊匹配自动对齐列头)→ 全量合并(不去重,订单号相同也全部保留,适配周期代扣等场景) → 按文件名/数据日期归月 → 刷新全部 KPI/趋势/分月/维度/排行/跨月分析
- 合并结果在面板中以彩色报告展示:成功追加 N 行(全量不去重)、订单号相同亦按全量保留、跳过空行 N 行、新增字段、缺失/未识别字段
- 点击某个文件的 ✕ 按钮 → 移除该文件的全部数据并刷新看板(删除初始文件或追加文件均可,删除后所有图表与跨月分析实时重算)
- 按钮【导出结构化JSON】可下载含 KPI/趋势/分月/各维度分月明细/排行/归因+建议的结构化 JSON(≤5万行时含明细)
输出看板的内容
- 顶部 KPI 卡:订单总数(笔)、收入金额(万元)、订购数量(个) 等 4–5 个,时间筛选(全部/近7天/近30天/月份按钮)下自动重算并显示环比
- 日收入金额趋势图:X 轴按当月/所选月份自然日铺满(1..28/29/30/31),末日日期完整显示,标签均匀分布
- 分月收入金额(多月时):柱顶标具体金额,点击柱子跳转到该月
- 各维度柱状/环形图:每个分类维度出「金额 + 订单量」两张;筛选栏可一键切换「柱状图 / 环形图」;点柱/扇形可联动筛选
- 明细汇总表:点表头排序、点行筛选、下拉切换分组维度
- 深度分析与优化建议:月度变化、按维度拆解的拉涨/拖降归因、各维度分月 Top3、波动差异识别、业务优化策略
字段智能识别
- 日期、金额(→ 万元)、订单量(→ 笔)、分类维度
- 省份维度:列名含「省份/省分/地市/地区」时自动按 31 个省级行政区归一化(如「广东省深圳市」→「广东」),只到省级、不到城市,并展示全量省份数据(不截断 Top N)
- 剔除字段:
references/field-config.json的drop列表中的列不参与看板,已默认剔除「首次订购渠道」「上笔订购渠道」等渠道类维度 - 配置文件
references/field-config.json可重命名/剔除字段、加单位覆盖 - 追加导入时支持原始字段名自动映射(如
产品价格总计→收入金额、省份地市→省份)
文件结构
~/.workbuddy/skills/excel-dashboard/
├── SKILL.md # 本文件
├── scripts/build_dashboard.py # Python 生成器
├── assets/
│ ├── template.html # 单文件看板模板(内联 ECharts + SheetJS 占位符)
│ ├── echarts.min.js # v5.5.1
│ └── xlsx.full.min.js # SheetJS v0.18.5
└── references/
├── field-config.json # 字段重命名/剔除/单位覆盖
├── field-detection.md # 字段自动识别规则
└── troubleshooting.md # 常见问题
注意事项
- 合并采用全量导入、不做去重:周期代扣等业务场景下同一订单号会重复出现,属正常数据,全部保留;如确需排重请在源 Excel 中处理
- 删除文件会移除其全部数据行并实时重算所有图表;删除最后一个文件后看板回到空状态
- 大数据量(>5万行)导出 JSON 时不含明细记录,仅含聚合
- 所有数字由源表实时计算,无法计算的项显示「无数据」
微信扫一扫