ワンクリックで
deskclaw-xlsx
专业 Excel 文件(.xlsx)创建、读取、编辑、公式验证和格式化。覆盖数据表、财务模型、报表、统计分析等场景。当用户要求创建、编辑、分析任何 Excel 表格时使用此技能。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
专业 Excel 文件(.xlsx)创建、读取、编辑、公式验证和格式化。覆盖数据表、财务模型、报表、统计分析等场景。当用户要求创建、编辑、分析任何 Excel 表格时使用此技能。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Self-contained browser automation. Navigates websites, fills forms, takes screenshots, extracts data. Runtime auto-installs on first use — no npm, Node.js, or Chrome required on the host.
专业 Word 文档(.docx)创建、编辑和排版。覆盖报告、公文、合同、备忘录、学术论文等场景。当用户要求生成、编辑、修改任何 Word 文档时使用此技能。即使用户没有明确说 docx,只要任务暗示需要可打印的正式文档,就应使用此技能。
Generate, edit, and read PowerPoint presentations. Create from scratch with PptxGenJS (cover, TOC, content, section divider, summary slides), edit existing PPTX via XML unpack/pack workflows, or extract text with markitdown. Includes 18 color palettes, 4 style recipes, 5 slide types, and full design system. Triggers: PPT, PPTX, PowerPoint, presentation, slide, deck, slides, 演示文稿, 幻灯片.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when you have a written implementation plan to execute in a separate session with review checkpoints
| slug | deskclaw-xlsx |
| version | 3.0.0 |
| displayName | Excel 表格工具(DeskClaw XLSX) |
| summary | DeskClaw 自研 Excel 全能工具。基于 openpyxl 与 LibreOffice 公式引擎,支持创建、读取、编辑、公式重算与校验、unpack/pack 高级编辑、列行插入、pandas 数据分析与财务建模规范。 |
| tags | office, xlsx, excel, spreadsheet, formulas, pandas, openpyxl, libreoffice, financial-modeling |
| name | deskclaw-xlsx |
| description | 专业 Excel 文件(.xlsx)创建、读取、编辑、公式验证和格式化。覆盖数据表、财务模型、报表、统计分析等场景。当用户要求创建、编辑、分析任何 Excel 表格时使用此技能。 |
| setup | bootstrap.py |
创建、读取、编辑和验证 Excel 表格。
python bootstrap.py
幂等,已装跳过。检查:python -c "import openpyxl; print('READY')"
| 任务 | 方法 |
|---|---|
| 创建新表格 | from openpyxl import Workbook; wb = Workbook() → 添加数据/公式/格式 → wb.save() |
| 读取分析 | python scripts/xlsx_reader.py file.xlsx 或 pandas |
| 编辑已有文件 | from openpyxl import load_workbook; wb = load_workbook('file.xlsx') |
| 添加列(带公式) | python scripts/xlsx_add_column.py |
| 插入行 | python scripts/xlsx_insert_row.py |
| 公式重算 | python scripts/recalc.py output.xlsx(创建后必须执行) |
| 公式验证 | python scripts/formula_check.py file.xlsx --json |
| 保存路径 | wb.save(os.path.expanduser('~/Desktop/output.xlsx')) |
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
import os
wb = Workbook()
ws = wb.active
ws.title = "数据表"
# 表头
headers = ["姓名", "部门", "销售额", "占比"]
header_font = Font(bold=True, color="FFFFFF", name="Microsoft YaHei")
header_fill = PatternFill("solid", fgColor="4472C4")
for col, h in enumerate(headers, 1):
cell = ws.cell(row=1, column=col, value=h)
cell.font = header_font
cell.fill = header_fill
cell.alignment = Alignment(horizontal="center")
# 数据
data = [["张三", "销售部", 85000], ["李四", "市场部", 72000]]
for r, row_data in enumerate(data, 2):
for c, val in enumerate(row_data, 1):
ws.cell(row=r, column=c, value=val)
# 公式(绝对不要硬编码计算结果!)
ws['C4'] = '=SUM(C2:C3)'
ws['C4'].font = Font(bold=True)
for r in range(2, 4):
ws.cell(row=r, column=4, value=f'=C{r}/C$4')
ws.cell(row=r, column=4).number_format = '0.0%'
# 列宽
for col in ["A", "B", "C", "D"]:
ws.column_dimensions[col].width = 15
wb.save(os.path.expanduser("~/Desktop/output.xlsx"))
创建后必须执行公式重算:
python scripts/recalc.py ~/Desktop/output.xlsx
# ❌ 错误
total = sum([85000, 72000])
ws['C4'] = total # 硬编码
# ✅ 正确
ws['C4'] = '=SUM(C2:C3)'
每个计算值都必须用 Excel 公式。 硬编码的数字无法在 Excel 中更新。
openpyxl 写入的公式只是字符串,保存后必须执行 scripts/recalc.py 让值生效。如果有公式错误(#REF!、#DIV/0!),recalc 会返回详细位置。
Workbook() 新建load_workbook('existing.xlsx'),绝对不要 Workbook() 新建xlsx_reader.py 验证| 角色 | 颜色 | 用法 |
|---|---|---|
| 输入/假设 | 蓝色 Font(color="0000FF") | 用户会改的数字 |
| 公式结果 | 黑色 Font(color="000000") | 所有计算值 |
| 跨 Sheet 引用 | 绿色 Font(color="00B050") | ='Sheet2'!A1 类公式 |
cell.number_format = '¥#,##0' # 货币
cell.number_format = '0.0%' # 百分比
cell.number_format = '@' # 文本(年份用这个,避免 2026 变 2,026)
cell.number_format = '#,##0;(#,##0);"-"' # 负数括号,零用横线
用户任务
├─ 读取/分析 → xlsx_reader.py + pandas
├─ 从零创建 → openpyxl Workbook() → save → recalc.py
├─ 编辑已有文件
│ ├─ 简单修改 → openpyxl load_workbook()
│ └─ 添加列/插入行 → scripts/xlsx_add_column.py, xlsx_insert_row.py
├─ 修复公式 → XML unpack → 修 <f> 节点 → pack
└─ 验证公式 → formula_check.py(静态)+ recalc.py(动态)
python scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
python scripts/xlsx_add_column.py /tmp/xlsx_work/ --col G \
--sheet "Sheet1" --header "占比" \
--formula '=F{row}/$F$10' --formula-rows 2:9 \
--total-row 10 --total-formula '=SUM(G2:G9)' --numfmt '0.0%'
python scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx
python scripts/xlsx_unpack.py input.xlsx /tmp/xlsx_work/
python scripts/xlsx_insert_row.py /tmp/xlsx_work/ --at 5 \
--sheet "Sheet1" --text A=新项目 \
--values B=3000 C=3000 --formula 'D=SUM(B{row}:C{row})'
python scripts/xlsx_pack.py /tmp/xlsx_work/ output.xlsx
| 需求 | 文件 |
|---|---|
| 读取分析数据 | read-analyze.md |
| 编辑 SOP | edit_sop.md |
| 编辑 XML 模式 | edit_patterns.md |
| 编辑高级操作 | edit_advanced.md |
| 编辑规则 | edit_rules.md |
| 修复公式 | fix.md |
| 财务格式标准 | format_standards.md |
| styles.xml 操作 | format_styles.md |
| 公式验证架构 | validate.md |
| 验证检查详情 | validate_checks.md |