告别繁琐的Python脚本和Office宏,一个命令行工具就能轻松处理所有Office文档,为AI智能体和开发者带来高效新体验。核心内容:1. OfficeCLI的核心功能与优势2. 工具的安装方法与便捷性3. 三层架构设计满足不同操作需求

告别 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 是单一可执行文件,零依赖,下载即用。
curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bashirm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iexofficecli --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(万能兜底方案) |
# 创建新文档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
# 创建新工作簿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
officecli add data.xlsx / --type sheet--prop name="销售数据" --prop csv=sales.csv
# 创建演示文稿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
设计一次模板,用 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
无需 Office,内置渲染引擎:
# 转 HTML(所有资源内联,单个文件)officecli view report.docx html -o report.html# 查看格式问题officecli view report.docx issues --json
所有命令都支持 --json,输出结构化的 JSON 数据,方便程序处理:
# 获取文档结构officecli get deck.pptx /slide[1] --depth 2 --json# 输出示例# {"tag": "slide", "path": "/slide[1]", "attributes": {...}}
对同一份文档批量编辑时,可以开启驻留模式避免重复的文件 I/O:
officecli open report.docx # 打开,文档保持在内存officecli set report.docx ... # 多次操作officecli set report.docx ...officecli close report.docx # 保存并关闭
拼错属性名?路径不对?OfficeCLI 会返回建议:
# 错误返回
# {"error": {"code": "not_found", "suggestion": "Valid Slide index range: 1-8"}}
OfficeCLI 最初就是为 AI 智能体设计的,所以集成方式极其简单。
一条命令即可为你的 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 文档。
来看看 OfficeCLI 和其他方案的对比:
| 对比项 | OfficeCLI | python-docx / openpyxl | Microsoft Office |
|---|---|---|---|
| 安装方式 | 一条命令 | pip install 多个库 | 付费购买 + 安装 |
| 依赖 | 零 | Python + 多个库 | 数 GB 安装包 |
| Word + Excel + PPT | ✅ 一个工具搞定 | ❌ 需要不同库 | ✅ 分开买 |
| JSON 输出 | ✅ 原生支持 | ❌ 需手动处理 | ❌ |
| 实时预览 | ✅ 内置 watch | ❌ | ✅ 但需 GUI |
| 跨平台 | ✅ | ✅ | ❌ 仅 Win/Mac |
# 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+年一线程序员。
深耕性能调优与大数据平台,也热爱折腾各种新技术。
期待与你交流,一起技术进阶。
喜欢的关注我,让技术之路走得更稳、更快。
登录查看剩余 70% 内容