--- name: xlsx-workflow description: "XLSX workflow: edit spreadsheets, formulas, formatting, charts, validations; recalc and ensure zero-error checks. Triggers: xlsx workflow, Excel表格, 改公式, 数据透视表, 生成报表, 对账, #REF, #DIV/0." --- # XLSX Workflow(Excel / 公式与校验) ## When to Use - 批量清洗数据、生成报表、对账 - 需要编辑公式/格式/条件格式/数据验证 - 需要“零错误”校验(避免 `#REF!/#DIV/0!/#NAME?` 等) ## Inputs(required) - Files: `.xlsx` 路径(以及是否有模板/受保护工作表) - Goal: 哪些 sheet/范围需要修改(明确列名/单元格范围) - Constraints: 是否允许改公式?是否必须保留原格式/保护/宏? - Output: 产物路径(xlsx + 可选导出 csv/pdf) - Environment: 可用工具(repo scripts、Python 依赖、`libreoffice --headless` 等) ## Capability Decision(do first) 1. 优先使用项目/环境已有的 **高保真工具链**(如果有)。 2. 否则走开源 fallback(需确认可接受的行为差异): - Python:`openpyxl`(结构化编辑;对公式重算能力有限/依赖 Excel 语义) - 数据处理:`pandas`(适合表格化数据,但要小心丢格式) ## Procedure(default) 1. **Inspect** - Sheet 列表、命名、表头、冻结窗格、数据验证规则 - 是否含外部链接、宏、受保护区域 2. **Operate** - 数据改动优先:保持表头不变、范围可追踪、避免隐式类型转换 - 公式改动:先定义输入/输出列,写最小可验证样例 - 格式改动:与业务逻辑分离,避免“数据+格式”混改造成回滚困难 3. **Validate** - 可用时做重新计算,并检查错误值:`#REF!/#DIV/0!/#NAME?/#VALUE!` - 抽样核对:关键行/关键合计值/边界值 ## Output Contract(stable) - Summary:输入 → 输出(xlsx/csv/pdf) - Changes:按 sheet 列出(数据/公式/格式/验证规则) - Validation:重算/错误检查/抽样核对结果 - Notes:fallback 模式的限制(公式重算、宏、外部链接) ## Guardrails - 表格数据可能含敏感信息:默认不在对话粘贴大表;用统计/摘要/行号定位 - 批量变更必须给出可复现的变换规则(便于审计与回滚)