> 告别 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 | bash
### Windows(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=true“officecli set data.xlsx /Sheet1/B1 –prop value=”部门” –prop bold=true“officecli 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:26315
officecli 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); do“officecli 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. 创建 PPT“officecli 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 是不二之选。**


