我最近一直在想一个很具体的问题:
AI 现在能生成 PPT、Word、Excel,但这些文件到底怎么验收?
生成一个 .pptx 不难。难的是你打开以后发现标题看不清、元素重叠、内容没有真的写进去。更糟的是,AI 还会很自信地告诉你:已经完成。
所以我今天测了 OfficeCLI。
它是一个开源 Office 命令行工具,面向 AI Agent,可以创建、读取、修改 Word、Excel、PowerPoint。
我用 OfficeCLI 分别做了 3 份文件:
| | |
|---|
| | |
| | |
| | 标题、段落、表格、列表、HTML 预览、PNG 截图 |
先说结论:
OfficeCLI 最有价值的地方,不是“它又能生成 Office 文件了”。
而是它能把 AI 做 Office 文件这件事,拆成一条可验收链路:
生成文件,读回结构,导出 HTML,看截图,发现问题,再定位修复。
这比一句“已经完成”可靠太多了。
先看 PPT:不是一页 demo,而是 3 页介绍 deck
我先让 OfficeCLI 生成一份介绍 OfficeCLI 自己的 PPT。
不是复杂商业模板,只做一个小而完整的 deck:
生成后,我没有直接相信文件名。
我先读回 outline:
officecli view officecli-project-intro.pptx outline
读回结果显示:3 slides。
再查表格:
officecli query officecli-project-intro.pptx table --json
它能读到第 2 页的表格,路径是 /slide[2]/table[@id=203],4 行 3 列。
然后我导出 HTML,截了一张图:
读者能一眼看到:它不是只会生成一个空壳文件。它能做出有标题、有卡片、有表格、有流程页的展示型文件。
但这里也暴露了一个很真实的问题。
第一次跑 view issues 时,OfficeCLI 提醒第 3 页一个提示框文字溢出了:
/slide[3]/shape[@id=307]
text overflow
suggest.height=1.4cm
我把这个 shape 的高度调到 1.6cm,再跑一次:
officecli view officecli-project-intro.pptx issues --json
结果变成 count: 0。
这就是我想要的验收感。
不是“AI 做完了”,而是“哪里有问题,问题在哪个元素,怎么修,修完有没有清零”。
再看 Excel:它做出了表格、公式和图表
第二个案例,我做了一张“OfficeCLI 能力范围实测报表”。
这张 Excel 里有 3 件东西:
| | |
|---|
| | query table |
| | get /Sheet1/B8 |
| | query chart |
截图长这样:
这里最关键的是公式读回。
/Sheet1/B8 的公式是:
COUNTA(A4:A6)
OfficeCLI 读回的 computedValue 是 3。
/Sheet1/B9 的公式是:
SUM(D4:F6)
OfficeCLI 读回的 computedValue 是 9。
图表也能读回:
series1: 读回:1,1,1
series2: HTML 预览:1,1,1
series3: 截图:1,1,1
categories: PPTX,XLSX,DOCX
这就比“AI 给我生成了一个 Excel”扎实多了。
因为我能确认:单元格有值,公式能算,表格是真的 table,图表也真的挂在工作表里。
Excel 这里也踩了一个小坑。
第一次导出后,view issues 提醒两个合并单元格文字会溢出:
/Sheet1/A2
/Sheet1/B10
修复方式很土,但有效:
把第 2 行和第 10 行高度调到 36pt,再顺手调整列宽。
修完以后:
view issues: count 0
validate: Validation passed
这个过程反而让我更想用它。
因为它不是只报“成功”,它会告诉你交付前哪里可能难看。
最后看 Word:生成一份小型研究报告
第三个案例,我让 OfficeCLI 生成一份 Docx 研究报告。
内容包括:
导出的 HTML 截图是这样:
我先用 view text 读回正文。
能看到标题、段落、列表和结论。
然后用 query table 读回表格:
officecli query officecli-research-report.docx table --json
它能读到 /body/tbl[1],4 行 4 列,包含样式、边框、宽度和 caption。
Docx 第一次也不是完美的。
view issues 提了 3 个提醒:
| |
|---|
| 设置 firstLineIndent=0.74cm |
| 把 row[2] / row[10] 改成“第 2 行”和“第 10 行” |
修完以后,view issues 也是 count: 0。
这对我很有用。
因为 Word 报告最常见的问题不是“没生成”,而是看起来像自动拼出来的,排版和语言细节不够像正式文件。
OfficeCLI 至少给了一个自动检查入口,让 AI 不只是写完就跑。
我对 OfficeCLI 的判断
OfficeCLI 更像是 AI Office 文件的验收工具。
不是替你完全终审,也不是 Office 自动驾驶。
它真正有用的地方,是把交付拆成几个可检查动作:
| |
|---|
create | |
query | |
view html | |
| |
view issues | |
validate | |
如果你平时让 AI 做 Office 文件,这条链路很关键。
因为最危险的不是 AI 不会生成文件。
最危险的是它生成了一个“看起来完成”的文件,但里面其实有空页、错位、溢出、公式不对、图表没挂上。
我会怎么用它
如果只是偶尔做一页很简单的 PPT,OfficeCLI 可能有点重。
但下面这些场景,我会认真考虑用它:
我现在更愿意把它放在“AI 交付验收”这一层,而不是“AI 生成 Office”这一层。
生成只是第一步。
能验收,才接近可交付。
你可以怎么试
如果你也想试,不建议一上来就做复杂模板。
先做一个小闭环:
- 1. 让 AI 用 OfficeCLI 生成一个 3 页 PPT,或者一张 Excel 报表。
- 2. 跑
query 和 get,确认结构、公式、表格能读回。 - 5. 跑
view issues 和 validate。
只要你跑完这 6 步,就会立刻明白它的价值。
它不是让你少看一眼文件。
它是让你在打开文件之前,就先拿到一组证据。
这对 AI 工作流很重要。
因为未来 AI 做的交付物会越来越多。PPT、Excel、Word、网页、代码、设计稿,本质上都会遇到同一个问题:
你不能只问“生成了吗?”
你要问:
能读回吗?
能预览吗?
能截图吗?
能发现问题吗?
能定位修复吗?
这才是 AI 交付从“看起来完成”走向“真的可用”的分水岭。
这轮我会继续保留一个边界:
本机截图还是通过 OfficeCLI 导出的 HTML 加 Chrome headless 完成的。我不会写成 OfficeCLI 自带截图命令已经完整跑通。
复杂模板、批量任务、高保真 PPT,也还要继续测。
但我愿意推荐你试一下。
不是因为它完美。
而是因为它让 AI 做 Office 文件这件事,第一次变得像一个可以检查、可以修、可以复盘的工程流程。
以上。谢谢你读到这里。
想第一时间看到更新,可以把 Ronan出海设为星标。我们下篇见。