
处理Office文档时,你是不是经常遇到这些问题:
- 需要批量修改100个Word文档的页眉页脚,手动操作太痛苦
- 需要自动生成报告,但VBA太难学
- 想在服务器上处理Office文档,但没有安装Office的环境
今天要介绍的 OfficeCLI,就是来解决这些痛点的。
什么是 OfficeCLI?
简单来说,OfficeCLI 是一个命令行工具,让你用命令行就能读取、创建和修改 Office 文档(Word、Excel、PPT)。
它由 GitHub 用户 iOfficeAI 开发,使用类似 DOM 的路径系统操作 OpenXML 格式文件,无需安装 Microsoft Office。
支持的格式
| 格式 | 扩展名 | 读取 | 修改 | 创建 |
|---|---|---|---|---|
| Word | .docx | ✅ | ✅ | ✅ |
| Excel | .xlsx | ✅ | ✅ | ✅ |
| PowerPoint | .pptx | ✅ | ✅ | ✅ |

核心命令一览
OfficeCLI 提供了20+个命令,覆盖文档操作的全生命周期:
| 命令 | 用途 | 是否修改文档 |
|---|---|---|
| create/new | 创建空白文档 | - |
| open/close | 开启/关闭常驻进程 | 是 |
| view | 查看文档内容 | 否 |
| get | 通过DOM路径获取节点 | 否 |
| query | 使用CSS选择器查询元素 | 否 |
| set | 修改元素属性 | 是 |
| add | 添加新元素 | 是 |
| remove | 删除元素 | 是 |
| move | 移动元素位置 | 是 |
| batch | 批量执行命令 | 是 |
| merge | 模板合并 | 是 |
| watch | 实时HTML预览 | 否 |
实战示例:创建一份Word报告

看看如何用 OfficeCLI 从零创建一份专业的Word报告:
# 创建空白文档
officecli create report.docx
# 开启常驻模式(多命令操作更快)
officecli open report.docx
# 添加标题
officecli add report.docx /body --type paragraph \
--prop text="Q4 2025 Sales Report" \
--prop style=Heading1
# 添加正文
officecli add report.docx /body --type paragraph \
--prop text="This report presents the sales performance..." \
--prop font=Arial --prop size=11
# 添加表格(4行x3列)
officecli add report.docx /body --type table --prop rows=4 --prop cols=3
# 设置表头样式
officecli set report.docx /body/tbl[1]/tr[1]/tc[1] \
--prop text="Region" \
--prop bold=true \
--prop shd=4472C4 \
--prop color=FFFFFF
# 添加水印
officecli add report.docx / --type watermark \
--prop text=CONFIDENTIAL \
--prop color=FF0000 \
--prop opacity=0.2
# 保存并关闭
officecli close report.docx
实战示例:批量修改Excel数据

假设你有100个Excel文件,需要统一修改表头格式:
# 批量处理所有Excel文件
for file in *.xlsx; do
officecli open "$file"
# 设置第一行为表头样式
officecli set "$file" /sheets[1]/rows[1] \
--prop bold=true \
--prop bgColor=4472C4 \
--prop color=FFFFFF
# 自动调整列宽
officecli set "$file" /sheets[1]/cols --prop autoFit=true
officecli close "$file"
done
快速安装
OfficeCLI 提供了多平台预编译二进制文件:
# macOS (Intel)
curl -L https://github.com/iOfficeAI/OfficeCLI/releases/latest/download/officecli-mac-x64 -o officecli
chmod +x officecli
# macOS (Apple Silicon)
curl -L https://github.com/iOfficeAI/OfficeCLI/releases/latest/download/officecli-mac-arm64 -o officecli
chmod +x officecli
# Linux
curl -L https://github.com/iOfficeAI/OfficeCLI/releases/latest/download/officecli-linux-x64 -o officecli
chmod +x officecli
# Windows
# 下载 officecli-win-x64.exe 并添加到PATH
使用场景
场景1:批量文档处理
用 batch 命令批量修改 hundreds 个文档的格式、内容或元数据。
场景2:自动化报告生成
结合模板合并(merge)功能,从数据库自动生成Word/Excel报告。
场景3:数据提取与分析
用 query 命令从Excel中提取特定数据,导出为JSON或CSV格式。
场景4:CI/CD集成
在自动化流程中验证、修改或生成Office文档,无需GUI环境。
场景5:实时预览开发
用 watch 命令实时预览文档修改效果,支持HTML格式查看。
为什么选择 OfficeCLI?
1. 无需Microsoft Office
直接操作OpenXML格式,服务器、Docker容器都能运行。
2. 类DOM路径系统
使用类似 /body/tbl[1]/tr[2]/tc[3] 的路径精确定位元素。
3. 批量处理能力
batch 命令支持一次打开执行多个操作,最后统一保存。
4. 模板合并
支持 {{key}} 占位符的模板合并,快速生成个性化文档。
5. 实时预览
watch 命令提供实时HTML预览,开发调试更方便。
技术亮点
- OpenXML原生支持:不依赖Office软件,纯命令行操作
- CSS-like选择器:用 query 命令像操作网页一样操作文档
- 完整格式支持:段落、表格、图表、图片、水印、页眉页脚等
- 验证功能:validate 命令检查文档是否符合OpenXML规范
- 多语言支持:提供英文、中文、日文、韩文文档
Github:
写在最后
OfficeCLI 代表了文档处理的新方式。它不是替代Office软件,而是让你能在自动化场景、服务器环境、批量处理中高效操作Office文档。
对于开发者、运维人员、数据分析师来说,这就像一个瑞士军刀,让Office文档操作变得可编程、可自动化。
如果你也经常需要批量处理Office文档,试试 OfficeCLI。
关注
如果这篇文章对你有帮助,欢迎点赞、收藏、转发。我会持续分享AI工具和开源项目,关注我,一起用AI更高效地工作。