Use when: 用户要上传 Excel 文件和一段语音指令,希望把语音中的表格编辑要求转成结构化 Excel 操作并落到工作簿里时触发。 适用于格式调整、数据写入、基础计算、行列结构修改、多步顺序编辑,以及需要输出执行日志和修改后 Excel 文件的场景。Skill 会先做语音转写与文本规范化,再让 Agen...
Documents
Excel Table Structurer
Try it结构化整理层级型 Excel 表格(.xlsx),处理父子层级关系、向下填充、分组首行显示、筛选优化。当用户上传 Excel 文件并要求「结构化整理」「填充数据」「整理表格」「整理测试用例」「清理表格格式」时使用。
What it does
结构化整理层级型 Excel 表格(.xlsx),处理父子层级关系、向下填充、分组首行显示、筛选优化。当用户上传 Excel 文件并要求「结构化整理」「填充数据」「整理表格」「整理测试用例」「清理表格格式」时使用。
The skill document
Excel 表格结构化整理
核心概念
很多业务表格(如测试用例、项目清单、台账)是层级结构的:
A列(业务场景) → B列(测试分类) → C列(用例编号) + D/E列(信息)
↓
F列(操作步骤1) + G列(期望结果1)
F列(操作步骤2) + G列(期望结果2)
...
处理这类表格的核心操作:
| 操作 | 说明 | 示例 |
|---|---|---|
| fill-down | 父层级值向下填充到所有子行 | 业务场景、测试分类每行都可见 |
| group-header | 组级信息仅首行显示 | 用例编号/名称仅在用例首行 |
| fill-down-group | 组级信息填充到所有行(便于筛选) | 测试结论向下填充,筛选 fail 可看完整步骤 |
使用方法
快速上手
python3 scripts/restructure.py 输入文件.xlsx 输出文件.xlsx --spec ''
JSON_SPEC 定义列的层级角色。
分析表格结构
收到用户文件后,先读取数据确认层级关系:
- 哪些列是父层级(A/B列),需要fill-down
- 哪一列是分组键(C列,定义行组),需要group-header
- 哪些列携带组级信息(H列测试结论),需要fill-down-group
- 哪些列需要额外处理
JSON_SPEC 参数说明
{
"sheet": "Sheet1", // 工作表名称(可选,默认 Sheet1)
"fill_down_columns": [0, 1], // 父层级列(0-based index)→ 向下填充
"group_key_column": 2, // 分组键列 → 定义行组
"group_header_columns": [2, 3, 4], // 组首行列 → 仅首行显示
"fill_down_group_columns": [7], // 组级填充列 → 所有行显示(便于筛选)
"col_widths": {"0": 20, "1": 18}, // 列宽(可选,key=col_index, value=width)
"freeze_panes": "A2", // 冻结窗格(可选,默认 A2)
"skip_empty_rows": true // 跳过空行(可选,默认 true)
}
常见场景
场景一:测试用例整理(本次案例)
A=业务场景, B=测试分类 → fill-down
C=用例编号, D=用例名称, E=前提条件 → group-header(仅有首行)
H=测试结论 → fill-down-group(复制到所有行便于筛选)
{
"fill_down_columns": [0, 1],
"group_key_column": 2,
"group_header_columns": [2, 3, 4],
"fill_down_group_columns": [7],
"col_widths": {"0": 20, "1": 18, "2": 14, "3": 35, "4": 40, "5": 55, "6": 45, "7": 12, "8": 35}
}
场景二:项目任务清单
A=项目名称 → fill-down
B=负责人, C=截止日期 → group-header(仅有首行)
D=任务状态 → fill-down-group(所有行可见,便于筛选)
E=任务事项, F=备注 → 每行独有
{
"fill_down_columns": [0],
"group_key_column": 1,
"group_header_columns": [1, 2],
"fill_down_group_columns": [3]
}
场景三:台账明细表
A=客户名称 → fill-down
B=合同编号, C=合同金额 → group-header
D=开票状态 → fill-down-group
E=发票号, F=开票日期 → 每行独有
{
"fill_down_columns": [0],
"group_key_column": 1,
"group_header_columns": [1, 2],
"fill_down_group_columns": [3]
}
输出格式
- 首行冻结 + 自动筛选
- 组交替底色(白/浅灰)
- 结论列自动着色(pass=绿, fail=红, 无法测试=黄)
- fail 行左侧红色边框高亮
输出说明
运行后脚本返回统计信息:
{"total_rows": 562, "group_count": 119}
total_rows= 数据行数(不含表头)group_count= 分组数量(如测试用例数)
使用流程
- 用户发送 Excel 文件并说明需求
- 读取文件,分析列层级关系
- 构造 JSON_SPEC
- 运行
restructure.py - 验证输出,将结果文件发送给用户
Related skills
Excel全能工具箱:读写、预览、合并、拆分、关联、去重、清洗、校验、模板填充、样式、条件格式、公式、图表、透视表、数据分析、差异对比、图片插入、密码保护。典型场景:月度业务报表合并汇总、HR花名册/考勤表关联清洗、运营数据透视分析、绩效数据校验去重、批量生成offer/通知模板、薪酬表加密保护、业务周报图表生成。触发词:Excel、表格、xlsx、csv、电子表格、合并Excel、拆分Excel、Excel图表、数据透视表、Excel公式、条件格式、数据清洗、Excel模板、Excel对比、Excel加密、VLOOKUP、去重、数据校验、统计分析、格式转换、业务报表、花名册、考勤表、绩效数据、运营数据、excel toolbox、spreadsheet、merge excel、split excel、excel chart、pivot table。即使用户没有明说'用Excel工具箱',只要涉及Excel/表格/xlsx/csv文件的操作都应触发。不适用:在线协作编辑(用Google Sheets等在线工具)、纯代码开发、Skill管理。
Excel数据处理向导,提供数据报表,模板填充,批量处理与图表可视化功能。支持条件格式,数据透视表,格式美化与文件分析。适用于财务报表,销售数据统计,库存管理,月度季度报告等Excel数据场景。涵盖结构识别,数据读取,数据写入,问题诊断等表格操作能力。内置openpyxl引擎,含单元格格式控制,多Sheet操作,数据校验,密码保护。
按指定列的值把一张 Excel 大表拆分成多个工作表(单文件)或多个独立 xlsx 文件。自动检测拆分列(部门/城市/分类/状态类),处理非法 sheet 名、空值归组"未填写",并生成拆分汇总。当用户上传大表并要求"按部门拆开"、"按城市分成多个表"、"拆分成多个文件"、"分类拆分"时触发。
Excel 表格去重清洗。自动去除多余空格、全角字符转半角、标准化手机号和身份证号、按关键列(姓名/手机号/编号)去重,并生成清洗报告 sheet。当用户上传含脏数据的 xlsx/csv 并要求"去重"、"清洗数据"、"数据标准化"、"处理表格里的重复行"时触发。
Excel数据处理向导,提供数据报表,模板填充,批量处理与图表可视化功能。支持条件格式,数据透视表,格式美化与文件分析。适用于财务报表,销售数据统计,库存管理,月度季度报告等Excel数据场景。涵盖结构识别,数据读取,数据写入,问题诊断等表格操作能力。内置openpyxl引擎,含单元格格式控制,多Sheet操作,数据校验,密码保护。