处理 Office 文档(Word/Excel/PPT/PDF)的技能。当用户要求读取、创建、编辑 Word 文档(.docx)、Excel 表格(.xlsx/.csv)、PPT(.pptx)或 PDF 时使用。基于 python-docx、openpyxl、python-pptx、pypdf 库。Require...
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install openclaw-office-toolkit或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install openclaw-office-toolkit⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/openclaw-office-toolkit/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: office-toolkit description: "处理 Office 文档(Word/Excel/PPT/PDF)的技能。当用户要求读取、创建、编辑 Word 文档(.docx)、Excel 表格(.xlsx/.csv)、PPT(.pptx)或 PDF 时使用。基于 python-docx、openpyxl、python-pptx、pypdf 库。Requires: python-docx, openpyxl, python-pptx, pypdf, pandoc, LibreOffice(验证用)。" metadata: {"openclaw":{"emoji":"📄","requires":{"anyBins":[]}}} ---
处理 Office 文档:Word(.docx)、Excel(.xlsx/.csv)、PPT(.pptx)、PDF。
pip install --break-system-packages python-docx openpyxl python-pptx pypdf
sudo apt install libreoffice-writer libreoffice-calc libreoffice-impress pandoc
| 任务 | 库/命令 | |------|---------| | 读 Word | python-docx 或 pandoc -t markdown | | 创建/编辑 Word | python-docx | | 读 Excel | openpyxl 或 pandas | | 创建/编辑 Excel | openpyxl | | 读 PPT | python-pptx | | 创建/编辑 PPT | python-pptx | | 读 PDF | pypdf 或 pandoc | | PDF 格式验证 | LibreOffice soffice | | PDF 转图片 | pdftoppm (poppler-utils) |
---
from docx import Document
doc = Document('file.docx')
for para in doc.paragraphs:
print(para.text)
# 带格式提取
import subprocess
result = subprocess.run(['pandoc', '--track-changes=all', 'file.docx', '-t', 'markdown'],
capture_output=True, text=True)
print(result.stdout)
from docx import Document
from docx.shared import Pt, Inches
doc = Document()
# 标题
doc.add_heading('文档标题', 0)
# 段落
p = doc.add_paragraph('正文内容')
p.runs[0].bold = True # 加粗
p.runs[0].font.size = Pt(12)
p.runs[0].font.name = 'Arial'
# 引用
doc.add_paragraph('引用内容', style='Intense Quote')
# 表格
table = doc.add_table(rows=2, cols=3)
table.style = 'Light Grid Accent 1'
table.rows[0].cells[0].text = '表头1'
table.rows[0].cells[1].text = '表头2'
doc.save('output.docx')
---
import openpyxl
wb = openpyxl.load_workbook('file.xlsx')
ws = wb.active
for row in ws.iter_rows(values_only=True):
print(row)
import openpyxl
from openpyxl.styles import Font, PatternFill, Alignment
wb = openpyxl.Workbook()
ws = wb.active
ws.title = '数据'
# 写入
ws['A1'] = '姓名'
ws['B1'] = '年龄'
ws['A2'] = '张三'
ws['B2'] = 25
# 格式化
header_fill = PatternFill(start_color='4472C4', end_color='4472C4', fill_type='solid')
ws['A1'].fill = header_fill
ws['A1'].font = Font(color='FFFFFF', bold=True)
ws['A1'].alignment = Alignment(horizontal='center')
# 保存
wb.save('output.xlsx')
---
from pptx import Presentation
prs = Presentation('file.pptx')
for slide in prs.slides:
for shape in slide.shapes:
if hasattr(shape, 'text'):
print(shape.text)
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
prs.slide_width = Inches(10)
prs.slide_height = Inches(7.5)
# 使用空白布局
slide = prs.slides.add_slide(prs.slide_layouts[6])
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = '演示标题'
subtitle.text = '副标题'
prs.save('output.pptx')
---
from pypdf import PdfReader
reader = PdfReader('file.pdf')
print(f'页数: {len(reader.pages)}')
for page in reader.pages:
print(page.extract_text())
from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for pdf_file in ['doc1.pdf', 'doc2.pdf']:
reader = PdfReader(pdf_file)
for page in reader.pages:
writer.add_page(page)
with open('merged.pdf', 'wb') as f:
writer.write(f)
reader = PdfReader('input.pdf')
for i, page in enumerate(reader.pages):
writer = PdfWriter()
writer.add_page(page)
with open(f'page_{i+1}.pdf', 'wb') as f:
writer.write(f)
page = reader.pages[0]
page.rotate(90) # 顺时针90度
---
| 依赖 | 状态 | |------|------| | python-docx | ✅ 已安装 | | openpyxl | ✅ 已安装 | | python-pptx | ✅ 已安装 | | pypdf | ✅ 已安装 | | pandoc | ✅ 已安装 | | LibreOffice | ✅ 已安装 |
---
pypdf,文字提取效果差时用 pandocsoffice 或 libreoffice(已安装)pathlib.Path(path).exists()安装 Office Toolkit 后,可以对 AI 说这些话来触发它
Help me get started with Office Toolkit
Explains what Office Toolkit does, walks through the setup, and runs a quick demo based on your current project
Use Office Toolkit to skills in working with Office documents (Word/Excel/PPT/PDF)
Invokes Office Toolkit with the right parameters and returns the result directly in the conversation
What can I do with Office Toolkit in my documents & notes workflow?
Lists the top use cases for Office Toolkit, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/openclaw-office-toolkit/ 目录(个人级,所有项目可用),或 .claude/skills/openclaw-office-toolkit/(项目级)。重启 AI 客户端后,用 /openclaw-office-toolkit 主动调用,或让 AI 根据上下文自动发现并使用。
Office Toolkit 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Office Toolkit 可免费安装使用。请查阅仓库了解许可证信息。
处理 Office 文档(Word/Excel/PPT/PDF)的技能。当用户要求读取、创建、编辑 Word 文档(.docx)、Excel 表格(.xlsx/.csv)、PPT(.pptx)或 PDF 时使用。基于 python-docx、openpyxl、python-pptx、pypdf 库。Require...
Office Toolkit 属于「Documents & Notes」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my documents & notes tasks using Office Toolkit
Identifies repetitive steps in your workflow and sets up Office Toolkit to handle them automatically