告别 Python 脚本和 Office 宏,一个命令行工具通吃所有 Office 格式
一、前言
你是否曾经为了批量修改 100 份 Word 文档而写 Python 脚本?为了从 Excel 中提取数据而安装 openpyxl?为了自动生成 PPT 演示文稿而折腾 python-pptx 的各种坑?
今天要分享的 OfficeCLI 彻底改变了这一切。
它是一款开源的命令行工具,专门为 AI 智能体和开发者设计,让你无需安装 Office,就能轻松创建、读取和修改 Word(.docx)、Excel(.xlsx)和 PowerPoint(.pptx)文档。
GitHub 地址:https://github.com/iOfficeAI/OfficeCLI(开源免费,Apache 2.0 协议)
先看一个最简单的例子——创建一份 PPT 演示文稿:
# 创建空白演示文稿officecli create deck.pptx# 添加一页幻灯片officecli add deck.pptx / --type slide --prop title="Hello, World!"# 打开浏览器,实时预览效果officecli watch deck.pptx
三条命令,一份 PPT 就诞生了。 而且你执行的每一条命令都会实时刷新浏览器预览,所见即所得!
二、 一键安装
OfficeCLI 是单一可执行文件,零依赖,下载即用。
macOSe / Linux
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bashWindows(PowerShell)
irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex验证安装
officecli --version安装完成后,它还会自动为你的 AI 编程助手(Claude Code、Cursor、GitHub Copilot 等)配置技能文件,让你的 AI 智能体立刻学会操作 Office 文档。
不用装 Office!不用装 .NET!不用装 Python! 一个二进制文件全搞定。
三、核心功能速览
OfficeCLI 采用三层架构,从简单到深入,满足不同需求:
| 层级 | 用途 | 常用命令 |
|---|---|---|
| L1 | 读取与分析 | view、validate |
| L2 | DOM 元素操作 | get、set、add、remove、move |
| L3 | 原始 XML 操作 | raw、raw-set(万能兜底方案) |
四、Word 文档操作
创建文档并添加内容
# 创建新文档officecli create report.docx# 添加标题officecli add report.docx /body --type paragraph \--prop text="2024年度工作总结" --prop style=Heading1# 添加正文officecli add report.docx /body --type paragraph \--prop text="本年度公司在营收、用户增长和产品迭代方面均取得显著突破。"# 添加表格officecli add report.docx /body --type table \--prop rows=3 --prop cols=4
查找并替换文字
# 全局替换(整个文档)officecli set report.docx / --prop find="待定" --prop replace="已完成"
关键词高亮
# 将所有"重要"标红加粗officecli set report.docx /body --prop find="重要" \--prop bold=true --prop color=FF0000
五、Excel电子表格
创建表格并写入数据
# 创建新工作簿officecli create data.xlsx# 写入表头officecli set data.xlsx /Sheet1/A1 --prop value="姓名" --prop bold=trueofficecli set data.xlsx /Sheet1/B1 --prop value="部门" --prop bold=trueofficecli set data.xlsx /Sheet1/C1 --prop value="销售额" --prop bold=true# 写入数据行officecli set data.xlsx /Sheet1/A2 --prop value="张三"officecli set data.xlsx /Sheet1/B2 --prop value="销售部"officecli set data.xlsx /Sheet1/C2 --prop value=52000
创建数据透视表(一条命令!)
officecli add data.xlsx /Sheet1 --type pivottable \--prop source="Sheet1!A1:C100" \--prop rows=部门 \--prop values="销售额:sum" \--prop sort=desc
批量更新
# 从 JSON 文件批量更新officecli batch budget.xlsx --input updates.json --json
CSV 导入
officecli add data.xlsx / --type sheet \--prop name="销售数据" --prop csv=sales.csv
六、PowerPoint 演示文稿
创建幻灯片并添加内容
# 创建演示文稿officecli create deck.pptx# 添加封面页officecli add deck.pptx / --type slide \--prop title="2024 Q4 财报" --prop background=1A1A2E# 在幻灯片上添加文字形状officecli add deck.pptx '/slide[1]' --type shape \--prop text="营收增长 25%" --prop x=2cm --prop y=5cm \--prop font=Arial --prop size=24 --prop color=FFFFFF# 添加图表页officecli add deck.pptx / --type slide --prop title="销售趋势"# 添加柱状图officecli add deck.pptx '/slide[2]' --type chart \--prop type=column --prop categories="Q1,Q2,Q3,Q4" \--prop series="营收:100,120,150,180"
实时预览
# 启动本地预览服务器,浏览器访问 http://localhost:26315officecli watch deck.pptx
当你执行 add、set、remove 命令时,浏览器会自动刷新,实时看到变化!
导出为图片
# 将幻灯片导出为 PNG 图片officecli view deck.pptx screenshot -o slide.png# 指定页码officecli view deck.pptx screenshot --page 2 -o slide2.png
七、高级功能
1. 模板合并(批量生成神器)
设计一次模板,用 JSON 数据填充 N 次——零 token 成本,格式一致:
# 设计好 invoice-template.docx,内含 {{client}}、{{total}} 等占位符officecli merge invoice-template.docx out-001.docx \'{"client":"Acme公司","total":"¥52,000"}'# 批量生成 100 份for i in $(seq 1 100); doofficecli merge template.docx "out-$i.docx" "$(cat data-$i.json)"done
2. 文档转 HTML / 截图
无需 Office,内置渲染引擎:
# 转 HTML(所有资源内联,单个文件)officecli view report.docx html -o report.html# 查看格式问题officecli view report.docx issues --json
3. JSON 输出,AI 友好
所有命令都支持 --json,输出结构化的 JSON 数据,方便程序处理:
# 获取文档结构officecli get deck.pptx /slide[1] --depth 2 --json# 输出示例# {"tag": "slide", "path": "/slide[1]", "attributes": {...}}
4. 驻留模式(高性能)
对同一份文档批量编辑时,可以开启驻留模式避免重复的文件 I/O:
officecli open report.docx # 打开,文档保持在内存officecli set report.docx ... # 多次操作officecli set report.docx ...officecli close report.docx # 保存并关闭
5. 自愈式错误提示
拼错属性名?路径不对?OfficeCLI 会返回建议:
# 错误返回# {"error": {"code": "not_found", "suggestion": "Valid Slide index range: 1-8"}}
八、AI 智能体集成
OfficeCLI 最初就是为 AI 智能体设计的,所以集成方式极其简单。
MCP 服务器内置
一条命令即可为你的 AI 工具注册 MCP(Model Context Protocol)服务:
# 为 Claude Code 注册officecli mcp claude# 为 Cursor 注册officecli mcp cursor# 为 VS Code / GitHub Copilot 注册officecli mcp vscode
安装后自动配置
OfficeCLI 安装时会自动检测你的 AI 工具(Claude Code、Cursor、Windsurf、GitHub Copilot等),并安装对应的技能文件。你的 AI 智能体立即学会创建、读取和编辑 Office 文档。
为什么它是 AI 智能体的最佳搭档?
✅ 确定性 JSON 输出 —— 无需正则解析 stdout
✅ 基于路径的元素寻址 ——
/slide[1]/shape[2],简单直观✅ 内置渲染引擎 —— AI 可以"看见"自己的产出(HTML/PNG 输出)
✅ 150+ 公式自动求值 —— 写入
=SUM(A1:A2),读取即得结果✅ 渐进式复杂度 —— 从只读到 DOM 操作再到原始 XML,按需深入
九、一键安装 vs 其他方案
来看看 OfficeCLI 和其他方案的对比:
| 对比项 | OfficeCLI | python-docx / openpyxl | Microsoft Office |
|---|---|---|---|
| 安装方式 | 一条命令 | pip install 多个库 | 付费购买 + 安装 |
| 依赖 | 零 | Python + 多个库 | 数 GB 安装包 |
| Word + Excel + PPT | ✅ 一个工具搞定 | ❌ 需要不同库 | ✅ 分开买 |
| JSON 输出 | ✅ 原生支持 | ❌ 需手动处理 | ❌ |
| 实时预览 | ✅ 内置 watch | ❌ | ✅ 但需 GUI |
| 跨平台 | ✅ | ✅ | ❌ 仅 Win/Mac |
十、典型应用场景
开发者
从数据库或 API 自动生成月度报告
批量查找替换(1000 份合同一键更新)
CI/CD 流水线中自动生成测试报告文档
Docker 容器中的无头 Office 自动化
AI 智能体
根据用户一句话生成完整 PPT 演示文稿
从文档提取结构化数据到 JSON
交付前自动验证文档质量
团队协作
克隆模板并批量填充数据
自动化文档格式检查和修复
十一、快速上手30秒体验
# 1. 安装curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash# 2. 创建 PPTofficecli create deck.pptx# 3. 实时预览(自动打开浏览器)officecli watch deck.pptx# 4. 添加幻灯片(浏览器实时刷新)officecli add deck.pptx / --type slide --prop title="Hello, OfficeCLI!"# 5. 添加内容officecli add deck.pptx '/slide[1]' --type shape \--prop text="这是用命令行生成的 PPT!" \--prop x=3cm --prop y=6cm --prop size=20
十二、命令速查表
| 命令 | 说明 |
|---|---|
create | 创建 .docx / .xlsx / .pptx |
view | 查看内容(outline / text / html / screenshot) |
get | 获取元素及子元素 |
set | 修改元素属性(含查找替换) |
add | 添加元素(或克隆已有元素) |
remove | 删除元素 |
move / swap | 移动 / 交换元素 |
batch | 批量执行多条命令 |
merge | 模板合并({{key}} 替换) |
watch | 浏览器实时预览 |
validate | 格式校验 |
十三、总结
OfficeCLI是一个真正为AI时代打造的 Office文档处理工具:
开源免费(Apache 2.0)
零依赖,一个二进制搞定
全平台(macOS / Linux / Windows)
全格式(Word / Excel / PowerPoint)
AI 原生,JSON 输出 + MCP 协议
高性能,驻留模式 + 实时预览
自动修复,友好错误提示
如果你想告别笨重的 Office 软件、复杂的 Python 脚本,或者想用 AI 智能体自动生成文档——OfficeCLI 是不二之选。
一个写了10+年一线程序员。
深耕性能调优与大数据平台,也热爱折腾各种新技术。期待与你交流,一起技术进阶。
喜欢的关注我,让技术之路走得更稳、更快。
夜雨聆风