几个星期前,我还在用 python-docx 写脚本生成周报。每改一次模板,就要调半天坐标和样式。上个星期发现 OfficeCLI 这个项目,装完试了一下,我当场在群里发了句「我解放了」。
不是夸张。作为日常写公众号兼管一点数据分析的人,Office 文档是躲不过去的活。之前试过的方案多多少少都有问题:python-docx 写报告要几百行、LibreOffice 命令行批量转格式经常崩、OLE 调用只能在 Windows 上跑。更别指望 AI 智能体自己动手——它连 Word 都没装。
OfficeCLI 把这事彻底翻过来了。
一个二进制,搞定 Word/Excel/PPT
OfficeCLI 是一个单一二进制文件的开源命令行工具,Apache 2.0 协议。不需要安装 Office,不需要装 Python 库,不需要 .NET 运行时——全内嵌了。一条命令就能创建、读取、修改 Word、Excel、PowerPoint 文件。
GitHub 上已经 7800+ Star,2026 年 3 月才上线,三个月不到涨成这样。
GitHub 仓库首页截图(来源:github.com/iOfficeAI/OfficeCLI)
安装就一行:
| # macOS / Linux curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash |
AI 智能体终于能「看见」文档了
OfficeCLI 最有意思的设计不是它能干活,而是它让 AI 干完活之后能自己检查效果。
它内置了一个渲染引擎。PPT 做成什么样,不需要人打开 PowerPoint 去看,直接一行命令:
| # 看完整效果(HTML) officecli view deck.pptx html -o /tmp/deck.html # 看每页截图(PNG) officecli view deck.pptx screenshot -o /tmp/deck.png # 实时预览,改了自动刷新 officecli watch deck.pptx |
AI 智能体调用完 `officecli set` 改好一页,再调 `view screenshot` 看效果,不满意就继续改——这个「渲染→看→改」的循环,不需要人类参与。之前要让 AI 看 PPT 效果,得人先打开 Office 导出图片再喂给 AI。现在二进制自己就干了。
写公式、做透视表,不用装 Excel
OfficeCLI 内置了 150 多个 Excel 函数的求值引擎。写入公式即自动计算:
| # 创建 Excel 并写公式 officecli create data.xlsx officecli set data.xlsx '/sheet[1]/cell[A1]' --value '=VLOOKUP(D2, $B$2:$F$100, 3, FALSE)' |
数据透视表也是一条命令:
| officecli add sales.xlsx '/Sheet1' --type pivottable \ --prop source='Data!A1:E10000' --prop rows='Region,Category' \ --prop cols=Quarter --prop values='Revenue:sum,Units:avg' |
模板合并:设计一次,填一百次
这是我觉得最实用的功能。用法很简单:先在 Office 里设计一份模板,把要替换的地方写成 {{客户名}}、{{季度}}、{{营收}} 这样的占位符。然后用 JSON 数据批量填充:
| officecli merge invoice-template.docx out-001.docx \ '{"client":"天使投资","total":"$5,200"}' # 复杂场景:从 JSON 文件读数据 officecli merge q4-template.pptx q4-acme.pptx data.json |
AI 智能体做一次版式设计,之后改数据就是纯命令行操作。零 token 消耗,输出确定,不会出现「每份报告版式都不一样」的情况。
对比:它比 python-docx 好在哪
| 维度 | OfficeCLI | python-docx/openpyxl | LibreOffice |
|---|---|---|---|
| 安装 | 单文件,curl 即装 | 需 Python + pip | 需完整安装 |
| 语言 | CLI,语言无关 | 仅 Python | CLI,API 复杂 |
| 渲染检查 | 内置 view/screenshot | 不支持 | 部分支持 |
| JSON 输出 | 每条命令 --json | 不支持 | 不支持 |
| 模板合并 | 内置 merge 命令 | 需自己写 | 需脚本 |
| Excel 公式 | 150+ 函数自动求值 | 不支持求值 | 支持 |
实际能用到哪
我自己用下来,三个场景最顺手:
CI/CD 自动出报告。测试跑完,JSON 结果直接 merge 进模板,一行命令出 .docx。不用写几百行 Python 脚本去调表格边框和字体。
数据库导出 Excel 周报。SQL 导出 JSON,然后一条命令填充带图表的 Excel 模板。数据透视表和公式都保留,打开就能用,不用再调。
AI 智能体生成 PPT。让 AI 一句「做一个 Q2 回顾的 10 页 PPT」,它自己用 OfficeCLI 逐页加内容,做完自己截图检查,不满意就改。全程不用人打开 PowerPoint。
不是没缺点
说实在的,这个项目也有局限。它只支持 OOXML 格式(.docx / .xlsx / .pptx),旧版 .doc / .xls 要先转一下格式。CLI 操作天然有学习门槛,不熟悉命令行的用户会觉得别扭。另外错误信息有时候不够明确,碰见问题了得去翻 GitHub Issues。
但整体上,它的方向是对的——把 Office 文档操作做成 AI 和自动化流水线的一环,而不是让人手动搭桥。
项目地址:github.com/iOfficeAI/OfficeCLI,Apache 2.0 开源,直接装就行。
⭐点赞、转发、关注和推荐一键三连⭐
夜雨聆风