Skip to content

Claude Cowork办公Skills完整解析:Word/Excel/PPT生成技术内幕

2026年5月10日

Claude Cowork 办公 skills 完全解析:docx/xlsx/pptx 三个 skill 的技术内幕。

核心原理

这些 skills 的本质是弥补 AI 无法原生处理二进制/ZIP 格式文件的缺陷,通过三个层面帮助 AI 操作 Office 文档:

层面操作工具
读取二进制 → AI 可理解的文本unpack.py、pandoc
创建AI 生成 → 二进制文件docx-js、openpyxl
编辑解包 → 编辑 XML → 打包三步流

Word Skills(docx)

目录结构

docx/
├── SKILL.md           # 核心:skill 定义文件
├── LICENSE.txt
└── scripts/
    ├── __init__.py
    ├── comment.py         # 添加批注/回复
    ├── accept_changes.py # 接受所有修订
    ├── templates/         # 批注 XML 模板
    │   ├── comments.xml
    │   ├── commentsExtended.xml
    │   └── people.xml
    └── office/            # 通用 Office 工具集
        ├── unpack.py      # 解包 .docx → XML
        ├── pack.py        # 打包 XML → .docx
        ├── validate.py    # XSD schema 校验
        ├── soffice.py     # LibreOffice 命令封装
        └── helpers/       # 辅助工具

工作流程

┌─────────────────────────────────────────────────────────┐
│                    Word 文档处理流程                      │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  读取文档                                               │
│  .docx(ZIP) ──→ unpack.py ──→ XML 目录 ──→ AI 理解     │
│                                                         │
│  创建文档                                               │
│  AI 生成 ──→ docx-js (JS) ──→ .docx 文件               │
│                                                         │
│  编辑文档                                               │
│  .docx ──→ unpack.py ──→ Edit XML ──→ pack.py ──→ .docx│
│                                                         │
└─────────────────────────────────────────────────────────┘

关键 API(docx-js)

javascript
// 页面设置
doc.creator('Document Creator')
doc.title('Document Title')
doc.subject('Subject')
doc.pageWidth()           // 页面宽度
doc.pageMargins()         // 页边距

// 样式定义
doc.createStyle({
  name: 'Normal',
  run: { fontSize: 12 },
  paragraph: { spacing: { after: 12 } }
})

// 表格(双重宽度设定)
table.width({
  size: 9000,  // DXA 单位(1/20 点)
  type: 'dxa'
})

CRITICAL 警告

警告说明
❌ 不能用 \n必须用 paragraph()
❌ 不能用 unicode 子弹符必须用 <w:numPr>
❌ 表格不能用百分比必须用 DXA
❌ 连续相同格式 run会被合并

Excel Skills(xlsx)

核心工具

工具功能
openpyxl读写 .xlsx 文件
pandas数据分析
unpack.py解包查看 XML 结构

创建 Excel

python
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill

wb = Workbook()
ws = wb.active
ws.title = "Data Sheet"

# 添加数据
ws['A1'] = 'Name'
ws['B1'] = 'Value'
ws['A2'] = 'Item 1'
ws['B2'] = 100

# 设置样式
ws['A1'].font = Font(bold=True)
ws['A1'].fill = PatternFill(start_color="FFFF00", fill_type="solid")

# 保存
wb.save('output.xlsx')

常用操作

操作方法
写入数据ws['A1'] = value
合并单元格ws.merge_cells('A1:C1')
设置列宽ws.column_dimensions['A'].width = 20
添加公式ws['C1'] = '=SUM(A1:B1)'
创建图表ws.add_chart(Chart(), 'E1')

PPT Skills(pptx)

目录结构

pptx/
├── SKILL.md
└── scripts/
    ├── office/
    │   ├── unpack.py
    │   ├── pack.py
    │   └── templates/
    │       └── slide_layouts/
    └── python-pptx/    # 主工具

创建 PPT

python
from pptx import Presentation
from pptx.util import Inches, Pt

prs = Presentation()
prs.slide_width = Inches(10)
prs.slide_height = Inches(7.5)

# 添加幻灯片
slide_layout = prs.slide_layouts[1]  # 标题+内容布局
slide = prs.slides.add_slide(slide_layout)

# 设置标题
title = slide.shapes.title
title.text = "My Presentation"

# 添加内容
content = slide.placeholders[1]
content.text = "• Point 1\n• Point 2\n• Point 3"

# 保存
prs.save('output.pptx')

常用操作

操作方法
添加文本框slide.shapes.add_textbox()
添加图片slide.shapes.add_picture()
添加表格slide.shapes.add_table()
设置动画slide.shapes.animate()
切换效果slide.slide_layout

通用 Office 工具

unpack.py(解包)

bash
# 解包 docx
python unpack.py document.docx output_dir/

# 解包后结构
output_dir/
├── word/
   ├── document.xml      # 主文档内容
   ├── styles.xml        # 样式定义
   └── comments.xml      # 批注
├── [Content_Types].xml
└── _rels/

pack.py(打包)

bash
# 打包 docx
python pack.py output_dir/ new_document.docx

# 打包时自动
- XSD schema 校验
- 自动修复常见错误
- 压缩为 ZIP

validate.py(校验)

bash
# 校验 docx
python validate.py document.docx

# 检查项
- XML 结构完整性
- Schema 合规性
- 文件格式正确性

三步编辑流详解

┌─────────────────────────────────────────────────────────┐
│                   三步编辑流                              │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  Step 1: 解包                                           │
│  document.docx ──→ unzip ──→ XML 文件们               │
│                                                         │
│  Step 2: 编辑 XML                                      │
│  <w:p> 元素内容改一改                                   │
│  样式调一调                                             │
│                                                         │
│  Step 3: 打包                                          │
│  XML 文件们 ──→ zip ──→ document.docx                  │
│                                                         │
└─────────────────────────────────────────────────────────┘

示例:修改段落文本

bash
# 1. 解包
python unpack.py input.docx temp_dir/

# 2. 编辑 XML(document.xml)
# 找到 <w:t>你的文本</w:t>
# 改为 <w:t>新文本</w:t>

# 3. 打包
python pack.py temp_dir/ output.docx

一句话总结

Claude Cowork Office Skills = AI 操作 Office 文档的桥梁。

核心流程:unpack → Edit XML → Pack。

支持:Word(docx-js)、Excel(openpyxl)、PPT(python-pptx)。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来