小马的 AI 工具集

办公命令行

专为 AI Agent 打造的 Office CLI,免装 Office 直接读写 Word/Excel/PPT

办公命令行
类型 CLI 22,134 星标 更新 2026-07-25 许可 Apache-2.0 原仓库 主页

OfficeCLI 是世界首款也是最佳专为 AI 智能体设计的 Office 套件。

让任何 AI 智能体完全掌控 Word、Excel 和 PowerPoint —— 只需一行代码。

开源。单个二进制文件。无需安装 Office。无依赖。随处运行。

OfficeCLI 内置的 HTML 渲染引擎能以高保真度重现文档 —— 这正是 AI 的“眼睛”所在。 它将 .docx / .xlsx / .pptx 渲染为 HTML 或 PNG,从而形成 渲染 → 查看 → 修正 的闭环。

GitHub Release License

English | 中文 | 日本語 | 한국어

🌐 网站: officecli.ai  |  💬 社区: Discord

OfficeCLI 在 AionUi 上创建 PowerPoint 演示文稿

AionUi 上使用 OfficeCLI 创建 PPT 的过程

PowerPoint 演示文稿

OfficeCLI 设计演示(PowerPoint) OfficeCLI 商务演示(PowerPoint) OfficeCLI 技术演示(PowerPoint)
OfficeCLI 太空演示(PowerPoint) OfficeCLI 游戏演示(PowerPoint) OfficeCLI 创意演示(PowerPoint)

Word 文档

OfficeCLI 学术论文(Word) OfficeCLI 项目方案(Word) OfficeCLI 年度报告(Word)

Excel 电子表格

OfficeCLI 预算追踪(Excel) OfficeCLI 成绩簿(Excel) OfficeCLI 销售仪表盘(Excel)

以上所有文档均由 AI 智能体使用 OfficeCLI 完全自动创建 —— 无需模板,无需手动编辑。

面向 AI 智能体 —— 一行代码开始

将此命令粘贴到你的 AI 智能体对话中 —— 它将读取技能文件并自动安装所有内容:

curl -fsSL https://officecli.ai/SKILL.md

就是这样。该技能文件会教会智能体如何安装二进制文件并使用所有命令。

面向人类用户

选项 A — GUI: 安装 AionUi —— 这是一款桌面应用,让你通过自然语言创建和编辑 Office 文档,底层由 OfficeCLI 驱动。只需描述你的需求,AionUi 代你完成其余工作。

选项 B — CLI:GitHub Releases 下载适用于你平台的二进制文件,然后运行:

officecli install

这会将二进制文件复制到你的 PATH 环境变量中,并将其检测到的每个 AI 编码智能体(Claude Code、Cursor、Windsurf、GitHub Copilot 等)中安装 officecli 技能。你的智能体可以立即代表你创建、读取和编辑 Office 文档,无需额外配置。

面向开发者 —— 30 秒内亲眼见证

# 1. 安装(macOS / Linux)—— 或使用:brew install officecli / npm install -g @officecli/officecli
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

# 2. 创建一个空白 PowerPoint
officecli create deck.pptx

# 3. 启动实时预览 —— 在浏览器中打开 http://localhost:26315
officecli watch deck.pptx

# 4. 打开另一个终端,添加一张幻灯片 —— 观察浏览器即时更新
officecli add deck.pptx / --type slide --prop title="Hello, World!"

就是这样。你执行的每一条 addsetremove 命令都会实时刷新预览。继续尝试 —— 浏览器就是你的实时反馈环。

快速入门

# 创建演示文稿并添加内容
officecli create deck.pptx
officecli add deck.pptx / --type slide --prop title="Q4 Report" --prop background=1A1A2E
officecli add deck.pptx '/slide[1]' --type shape \
  --prop text="Revenue grew 25%" --prop x=2cm --prop y=5cm \
  --prop font=Arial --prop size=24 --prop color=FFFFFF

# 查看大纲
officecli view deck.pptx outline
# → Slide 1: Q4 Report
# →   Shape 1 [TextBox]: Revenue grew 25%

# 查看 HTML 格式 —— 在浏览器中打开渲染预览,无需服务器
officecli view deck.pptx html

# 获取任何元素的结构化 JSON
officecli get deck.pptx '/slide[1]/shape[1]' --json

# 保存并关闭 —— 将驻留会话写入磁盘
officecli close deck.pptx
{
  "tag": "shape",
  "path": "/slide[1]/shape[1]",
  "attributes": {
    "name": "TextBox 1",
    "text": "Revenue grew 25%",
    "x": "720000",
    "y": "1800000"
  }
}

为什么选择 OfficeCLI?

过去需要 50 行 Python 和 3 个独立库才能完成的操作:

from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])
title = slide.shapes.title
title.text = "Q4 Report"
# ... 45 more lines ...
prs.save('deck.pptx')

现在只需一条命令:

officecli add deck.pptx / --type slide --prop title="Q4 Report"

OfficeCLI 能做什么:

  • 创建 从头开始制作文档 —— 空白或带内容
  • 读取 文本、结构、样式、公式 —— 以纯文本或结构化 JSON 格式
  • 分析 格式问题、样式不一致和结构问题
  • 修改 任何元素 —— 文本、字体、颜色、布局、公式、图表、图片
  • 重组 内容 —— 跨文档添加、删除、移动、复制元素
格式读取修改创建
Word (.docx)
Excel (.xlsx)
PowerPoint (.pptx)

Word — 完整的 i18n 与 RTL 支持(每个脚本的字体槽、每个脚本的 BCP-47 语言标签 lang.latin/ea/cs、复杂脚本的粗体/斜体/字号、通过段落/文本块/节/表格/样式/页眉页脚/文档默认值级联设置的 direction=rtlrtlGutter + pgBorders 简写、支持印地语/阿拉伯语/泰语/CJK 的区域感知页码编号;create --locale ar-SA 自动启用 RTL)、段落(framePr、制表符简写、基于字符的缩进)、文本块(下划线颜色、半磅单位的位置)、表格(虚拟列操作 add/remove/move/copyfrom、hMerge)、样式文本框 / 形状(文本框:旋转、textDirection eaVert/vert270、渐变、阴影、透明度)、页眉/页脚图片(PNG/JPG/GIF/SVG)、公式(LaTeX 输入)、图表(mermaid → 原生可编辑形状,或任何 mermaid 类型作为全保真 PNG)、批注脚注水印书签目录图表超链接表单域内容控件 (SDT)(22 种零参数类型 + MERGEFIELD / REF / PAGEREF / SEQ / STYLEREF / DOCPROPERTY / IF)、OLE 对象修订 / 跟踪更改revision.type=ins\|del\|format\|moveFrom\|moveTo + revision.action=accept\|reject,按目标 /revision[@author=Alice] 选择器,跟踪的查找替换)、页面背景色、文档属性

Excel单元格(添加时支持拼音指南/振假名,删除时支持 Excel-UI --shift left\|up / 添加时支持 shift=right\|down)、公式(350+ 内置函数,自动求值,带 _xlfn. 自动前缀的溢出动态数组、财务/债券与统计函数族、OFFSET/INDIRECT、解析时内联的定义名称公式体、行/列插入时的公式引用重写)、工作表(可见/隐藏/深度隐藏、打印边距、printTitleRows/Cols、RTL sheetView、级联感知的工作表重命名、打开时去除空单元格膨胀)、布尔 and/or 选择器(row[Salary>5000 and Region=EMEA])、表格排序(工作表/区域、多关键字、边栏感知)、条件格式图表(包括箱形图、帕累托图 带自动排序 + 累积百分比、对数轴)、数据透视表(多字段、日期分组、showDataAs、排序、总计、小计、紧凑/大纲/表格布局、重复项标签、空行、计算字段、持久化 labelFilter / topN 筛选器、缓存 CoW + 跨透视表共享)、切片器命名区域数据验证图片(PNG/JPG/GIF/SVG 带双重表示回退)、迷你图批注(RTL)、自动筛选形状OLE 对象、CSV/TSV 导入、$Sheet:A1 单元格寻址

PowerPoint幻灯片(页眉/页脚/日期/幻灯片编号开关、隐藏)、形状(图案填充、模糊效果、超链接工具提示 + 幻灯片跳转链接、高亮颜色 应用于文本块、slideMaster/slideLayout 类型的 add/set/remove、箭头别名、effective.X + effective.X.src)、图片(PNG/JPG/GIF/SVG、填充模式:拉伸/适应/覆盖/平铺、亮度/对比度/发光/阴影、旋转、链接 + 工具提示)、表格(内置 PowerPoint 样式目录、虚拟 /col[C] 获取 + 交换/copyFrom、行/列 Move/CopyFrom、填充/背景别名)、图表(复合饼图、条形饼图、每个属性的轴线/网格线设置器、系列添加/删除带主题调色板、anchor=x,y,w,h 简写)、动画(15 种强调 + 16 种退出模板支持的预设、多效果链、运动路径预设、重复/重启/自动反转、图表动画 + chartBuild)、切换效果(变形 + p14 + 12 种 p15 PowerPoint 2013+ 预设)、3D 模型 (.glb)(组合 rotation=ax,ay,az)、幻灯片缩放公式(LaTeX 输入)、图表(mermaid 流程图/序列图 → 原生可编辑形状,或任何 mermaid 类型作为全保真 PNG)、主题连接线from/to 接受完整 /slide[N]/shape[@name=Foo] 路径)、视频/音频(循环、自动开始)、组合(链接 + 工具提示;获取/查询/添加/移除都会深入组合内部)、备注(RTL、语言)、批注(RTL、旧版 + 新版 p188 线程化往返)、SmartArt(通过添加部件 + 原始设置往返)、OLE 对象占位符(按 phType 添加/设置)

用例

针对开发者:

  • 从数据库或 API 自动生成报告
  • 批量处理文档(批量查找替换、样式更新)
  • 在 CI/CD 环境中构建文档流水线(从测试结果生成文档)
  • 在 Docker/容器化环境中实现无头 Office 自动化

针对 AI Agent:

  • 根据用户提示生成演示文稿(参见上方示例)
  • 从文档中提取结构化数据到 JSON
  • 在交付前验证并检查文档质量

针对团队:

  • 克隆文档模板并用数据填充
  • 在 CI/CD 流水线中自动验证文档

安装

以单个自包含二进制文件形式分发。.NET 运行时已嵌入——无需安装任何内容,无需管理运行时。

一行安装:

# macOS / 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

或通过包管理器:

# Homebrew (macOS / Linux)
brew install officecli

# Scoop (Windows)
scoop install officecli

# npm (全平台——获取对应平台的原生二进制文件)
npm install -g @officecli/officecli

或手动下载GitHub Releases

平台二进制文件
macOS Apple Siliconofficecli-mac-arm64
macOS Intelofficecli-mac-x64
Linux x64officecli-linux-x64
Linux ARM64officecli-linux-arm64
Windows x64officecli-win-x64.exe
Windows ARM64officecli-win-arm64.exe

验证安装:officecli --version

或从已下载的二进制文件自行安装(或直接运行裸 officecli 以自动安装):

officecli install    # 显式安装
officecli            # 裸调用也会触发安装

更新会在后台自动检查。通过 officecli config autoUpdate false 禁用,或通过 OFFICECLI_SKIP_UPDATE=1 跳过单次检查。配置位于 ~/.officecli/config.json

主要特性

内置引擎与生成原语

OfficeCLI 是自包含的。以下功能内置于二进制文件中——无需 Office

渲染引擎——高保真,内置

OfficeCLI 的基石:一个从头构建的高保真 HTML 渲染引擎,让 AI agent 可以看到渲染后的文档,而不是根据 DOM 猜测。它覆盖形状、图表(趋势线、误差线、瀑布图、蜡烛图、迷你图)、公式(OMML → LaTeX,通过 KaTeX 渲染)、3D .glb 模型(通过 Three.js)、变形过渡、幻灯片缩放和形状效果。逐页 PNG 截图通过将渲染后的 HTML 送入无头浏览器生成。三种模式:

  • view html ——独立 HTML 文件,资源内联。可在任何浏览器中打开。
  • view screenshot ——逐页 PNG,适合多模态 agent 读取。
  • watch ——本地 HTTP 服务器,自动刷新预览;每次 add / set / remove 操作都会立即更新浏览器。Excel watch 支持内联单元格编辑和拖拽调整图表位置。
officecli view deck.pptx html -o /tmp/deck.html
officecli view deck.pptx screenshot -o /tmp/deck.png # 添加 --page 1-N 获取更多幻灯片
officecli watch deck.pptx                            # http://localhost:26315

没有可视化,生成幻灯片的 agent 就像盲飞——它能读取 DOM,但无法判断标题是否溢出或两个形状是否重叠。由于渲染功能内置于二进制文件中,渲染 → 查看 → 修复 循环可以在 CI、Docker、无显示器的服务器上运行——任何运行该二进制文件的地方。

公式与数据透视表引擎

写入时自动计算 350 多个内置 Excel 函数——写入 =SUM(A1:A2)get 该单元格,值已经存在。无需通过 Office 进行往返计算。支持溢出动态数组(FILTER / SORT / UNIQUE / SEQUENCE / LET / LAMBDA / MAP)、VLOOKUP / XLOOKUP / INDEX / MATCH、金融与债券计算(XIRR / PRICE / YIELD / DURATION / COUPNUM)、统计分布、检验与回归(NORM.DIST / T.TEST / LINEST)以及日期与文本函数。

再加上通过一条命令从源范围生成本地 OOXML 数据透视表——多字段行/列/筛选器、10 种聚合方式、showDataAs 模式、日期分组、计算字段、Top-N、布局。数据透视缓存 + 定义写入 OOXML,因此 Excel 打开文件时聚合已就位:

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' \
  --prop showDataAs=percentOfTotal

模板合并——一次生成,多次填充

merge 将任何 .docx / .xlsx / .pptx 中的 {{key}} 占位符替换为 JSON 数据——涵盖段落、表格单元格、形状、页眉、页脚和图表标题。Agent 设计一次布局(成本高);生产代码填充 N 次(成本低、确定性、零 token 成本)。避免 agent 从头重新生成每个报告并产生 N 个不一致布局的失败模式。

officecli merge invoice-template.docx out-001.docx --data '{"client":"Acme","total":"$5,200"}'
officecli merge q4-template.pptx q4-acme.pptx --data data.json

往返转储——从现有文档学习

dump 将任何 .docx.pptx.xlsx——整个文档或任何子树(单个段落、表格、幻灯片、工作表、样式部分、编号、主题或设置)——序列化为可重放的批处理 JSON;batch 重放。给定一个用户想要模仿的示例,agent 读取结构化规范而不是原始的 OOXML XML,进行修改然后重放。桥接了“我有一个现有模板”和“帮我生成 100 个变体”。

officecli dump existing.docx -o blueprint.json                  # 整个文档
officecli dump existing.docx /body/tbl[1] -o table.json         # 任何子树
officecli dump existing.xlsx /Sheet1 -o sheet.json              # 单个工作表
officecli batch new.docx --input blueprint.json

驻留模式与批处理

对于多步骤工作流,驻留模式将文档保留在内存中。批处理模式在单次通过中应用多个操作。

# 驻留模式——通过命名管道实现接近零延迟
officecli open report.docx
officecli set report.docx /body/p[1]/r[1] --prop bold=true
officecli set report.docx /body/p[2]/r[1] --prop color=FF0000
officecli close report.docx

# 批处理模式——多命令执行(默认是原子的:任何失败项都会回滚整个批次)
echo '[{"command":"set","path":"/slide[1]/shape[1]","props":{"text":"Hello"}},
      {"command":"set","path":"/slide[1]/shape[2]","props":{"fill":"FF0000"}}]' \
  | officecli batch deck.pptx --json

# 内联批处理,使用 --commands(无需 stdin)
officecli batch deck.pptx --commands '[{"op":"set","path":"/slide[1]/shape[1]","props":{"text":"Hi"}}]'

# 即使某些项失败也保留成功项(1.0.137 之前的行为)
officecli batch deck.pptx --input updates.json --best-effort --json

# 在第一个失败命令处停止,不再执行后续命令(仍会回滚所有内容,除非与 --best-effort 结合)
officecli batch deck.pptx --input updates.json --stop-on-error --json

正在用其他工具读取文件?请先刷新到磁盘。 officecli 自身的读取(get/query/view)始终能即时看到你的最新编辑,所以在 officecli 内部你永远无需保存。但是,活动的驻留进程会推迟磁盘写入,因此在非 officecli 程序读取文件之前——例如 python‑docx/openpyxl、Microsoft Word、渲染器、交付/上传——请先刷新:

officecli set report.docx /body/p[1] --prop bold=true
officecli save report.docx           # 刷新,保持驻留进程活跃(或使用 `close` 刷新并释放)
python my_reader.py report.docx      # 现在能看到编辑内容

活动的驻留进程还会在空闲后不久自动刷新(自适应 2–10 秒,根据文档的实际保存开销调整)。对于每条命令后都有其他程序读取的流水线,可以设置 OFFICECLI_RESIDENT_FLUSH=each——每次修改在命令返回前就已写入磁盘,同时驻留进程继续保持活跃。完整的刷新模型(each/auto/固定/off,save/close,环境变量调优):wiki → open / close.

三层架构

从简单开始,只在需要时深入。

用途命令
L1: Read内容的语义视图view (text, annotated, outline, stats, issues, html, svg, screenshot)
L2: DOM结构化元素操作get, query, set, add, remove, move, swap
L3: Raw XML直接 XPath 访问——通用后备方案raw, raw-set, add-part, validate
# L1 — high-level views
officecli view report.docx annotated
officecli view budget.xlsx text --cols A,B,C --max-lines 50

# L2 — element-level operations
officecli query report.docx "run:contains(TODO)"
officecli add budget.xlsx / --type sheet --prop name="Q2 Report"
officecli move report.docx /body/p[5] --to /body --index 1

# L3 — raw XML when L2 isn't enough
officecli raw deck.pptx '/slide[1]'
officecli raw-set report.docx document \
  --xpath "//w:p[1]" --action append \
  --xml '<w:r><w:t>Injected text</w:t></w:r>'

AI 集成

MCP 服务器

内置的 MCP 服务器——通过一条命令注册:

officecli mcp claude       # Claude Code
officecli mcp cursor       # Cursor
officecli mcp vscode       # VS Code / Copilot
officecli mcp lmstudio     # LM Studio
officecli mcp list         # Check registration status

通过 JSON-RPC 将所有文档操作暴露为工具——无需 shell 访问权限。

直接 CLI 集成

两步

突变确认setaddremovemovecreate 配合 --json):

{"success": true, "path": "/slide[1]/shape[1]"}

详见 officecli --help 以了解退出码和错误格式的完整信息。

比较

OfficeCLIMicrosoft OfficeLibreOfficepython-docx / openpyxl
开源且免费✓ (Apache 2.0)✗ (付费许可)
AI 原生 CLI + JSON
零安装(单二进制)✗ (Python + pip)
任意语言调用✓ (CLI)✗ (COM/插件)✗ (UNO API)仅 Python
基于路径的元素访问
原始 XML 回退部分
内置面向智能体的友好渲染引擎
无头 HTML/PNG 输出部分
跨格式模板合并({{key}}
往返导出 → 批量 JSON
实时预览(编辑自动刷新)
无头 / 持续集成部分
跨平台Windows/Mac
Word + Excel + PowerPoint独立库

命令参考

命令说明
create创建一个空白的 .docx、.xlsx 或 .pptx(根据扩展名确定类型)
view查看内容(模式:outlinetextannotatedstats--page-count)、issueshtmlsvgscreenshotpdf(通过导出器插件)、forms(通过格式处理器插件))。docx 支持 --render auto|native|html
load_skill打印特定技能的嵌入 SKILL.md 内容(无需安装)
get获取元素及其子元素(--depth N--json
query类似 CSS 的查询,支持布尔 and/or、按列名行查询(row[Salary>5000])、--find 标志
set修改元素属性;支持选择器和 Excel 原生路径(与 get/query 一致)、--find/--replace 标志
add添加元素(或通过 --from <path> 克隆)
remove移除一个元素
move移动元素(--to <parent>--index N--after <path>--before <path>
swap交换两个元素
validate针对 OpenXML 模式进行验证
view <file> issues枚举文档问题(文本溢出、缺少替换文字、公式错误……)
batch单次执行多个操作(stdin、--input--commands;默认原子性——任何失败项会回滚整个批次——--best-effort 保留部分进度、--stop-on-error 提前中止)
dump将 .docx、.pptx 或 .xlsx 序列化为可回放的批量 JSON(通过 batch 实现往返);接受子树路径
refresh重新计算目录页码 / PAGE / 交叉引用(.docx;Windows 上使用 Word 后端,回退至无头 HTML)
plugins列出 / 检查 / 检查已安装插件(通过导出读取器 / 导出器 / 格式处理器扩展到 .doc、.hwpx、.pdf 导出)
merge模板合并——用 JSON 数据替换 {{key}} 占位符
watch在浏览器中实时预览 HTML,自动刷新
mcp启动 MCP 服务器以集成 AI 工具
raw查看文档部件的原始 XML
raw-set通过 XPath 修改原始 XML
add-part添加新的文档部件(页眉、图表等)
open启动驻留模式(将文档保留在内存中)
close保存并关闭驻留模式
install安装二进制文件 + 技能 + MCP(allclaudecursor 等)
config获取或设置配置
help <format> <command>内置帮助(例如 officecli help pptx set shape

端到端工作流示例

一个典型的自愈智能体工作流:创建演示文稿、填充内容、验证并修复问题——全程无需人工干预。

# 1. Create
officecli create report.pptx

# 2. Add content
officecli add report.pptx / --type slide --prop title="Q4 Results"
officecli add report.pptx '/slide[1]' --type shape \
  --prop text="Revenue: $4.2M" --prop x=2cm --prop y=5cm --prop size=28
officecli add report.pptx / --type slide --prop title="Details"
officecli add report.pptx '/slide[2]' --type shape \
  --prop text="Growth driven by new markets" --prop x=2cm --prop y=5cm

# 3. Verify
officecli view report.pptx outline
officecli validate report.pptx

# 4. Fix any issues found
officecli view report.pptx issues --json
# Address issues based on output, e.g.:
officecli set report.pptx '/slide[1]/shape[1]' --prop font=Arial

单位与颜色

所有尺寸和颜色属性均接受灵活的输入格式:

类型接受的格式示例
尺寸cm、in、pt、px 或原始 EMU2cm1in72pt96px914400
颜色十六进制、命名、RGB、主题#FF0000FF0000redrgb(255,0,0)accent1
字号纯数字或带 pt 后缀1414pt10.5pt
间距pt、cm、in 或倍数12pt0.5cm1.5x150%

常见模式

# Replace all Heading1 text in a Word doc
officecli query report.docx "paragraph[style=Heading1]" --json | ...
officecli set report.docx /body/p[1]/r[1] --prop text="New Title"

# Export all slide content as JSON
officecli get deck.pptx / --depth 2 --json

# Bulk-update Excel cells
officecli batch budget.xlsx --input updates.json --json

# Import CSV data into an Excel sheet
officecli add budget.xlsx / --type sheet --prop name="Q1 Data"
officecli import budget.xlsx "/Q1 Data" sales.csv --header

# Template merge for batch reports
officecli merge invoice-template.docx invoice-001.docx --data '{"client":"Acme","total":"$5,200"}'

# Check document quality before delivery
officecli validate report.docx && officecli view report.docx issues --json

从 Python 或 Node.js — 安装一个轻量的常驻管道 SDK(无需每次调用都启动进程):

# Python — `pip install officecli-sdk`
import officecli
with officecli.create("deck.pptx") as doc:          # or officecli.open("deck.pptx")
    doc.send({"command": "add", "parent": "/", "type": "slide"})
    print(doc.send({"command": "get", "path": "/slide[1]"}))
// Node.js — `npm install @officecli/sdk`
const oc = require("@officecli/sdk");
const doc = await oc.create("deck.pptx");            // or oc.open("deck.pptx")
await doc.send({ command: "add", parent: "/", type: "slide" });
console.log(await doc.send({ command: "get", path: "/slide[1]" }));
await doc.close();

两个 SDK 都会在本地 CLI 缺失时自动提供(优先使用镜像、支持 Windows)并提示安装,而非静默操作。

或者直接包装子进程,一次性调用:

import json, subprocess
def cli(*args):
    return json.loads(subprocess.check_output(["officecli", *args, "--json"], text=True))
cli("create", "deck.pptx")

文档

Wiki 提供了每个命令、元素类型和属性的详细指南:

从源码构建

仅需 .NET 10 SDK 用于编译。输出是一个自包含的原生二进制文件 —— .NET 嵌入在二进制文件中,运行时无需安装。

./build.sh

许可证

Apache License 2.0

欢迎在 GitHub Issues 上提交错误报告和贡献。


如果您觉得 OfficeCLI 有用,请在 GitHub 上 给它一个星 —— 这有助于他人发现该项目。

OfficeCLI.AI | GitHub

在 GitHub 查看完整项目