Appearance
用 Codex 处理 Word、Excel 和 PDF
嘿,我是小枫。日常写代码之外,最让我头疼的反而是那些「办公文件」的活儿——Word 排版莫名其妙崩掉、Excel 公式看着对一拉数据就翻车、PDF 提取出来缺字漏行。后来用 Codex 的文件能力把这些流程自动化了,踩了不少坑,这篇就把我试出来的路子整理出来,咱们像聊天一样过一遍。
先泼个冷水:办公文件任务真正的终点不是「文件生成了」,而是「打开检查没问题」。Word 要看分页和样式,Excel 要验公式和口径,PDF 要逐页渲染。三个东西各有各的坑,下面依次说。
先查看当前可用文件能力
普通用户打开 ChatGPT 桌面应用里的 Skills 或 Plugins 列表,看看有没有 Documents、Spreadsheets、Presentations、PDF 之类的文件能力。偷懒的办法是直接跟它说「帮我生成一个 Word」,让它自己选当前能用的工具。
开发者想从终端确认 Plugin 的话,跑下面这条(普通用户可以跳过):
bash
codex plugin list --available --json实际名称、版本和可用性以你的环境为准。要是环境里没有对应文件能力,我一般先生成结构清晰的文本或 CSV,再用 Word、Excel 或 LibreOffice 手动转格式。千万别从陌生网站下什么来路不明的转换工具——这个坑我替你们踩过了。
通用五步流程
不管你处理的是 Word、Excel 还是 PDF,我总结了一个统一的五步走法:
- 盘点输入文件和可信来源;
- 先输出结构/数据映射;
- 生成目标文件;
- 用对应应用或渲染器检查;
- 对照源数据做一致性验证。
任务开场我会这样写:
text
处理 input/ 中的文件,输出到 output/。先列出每个输入的格式、页数/工作表、日期和用途,不修改源文件。
所有数字、名称和结论必须能追溯到输入。遇到冲突或缺失时列出来,不要猜。生成后必须渲染或重新读取目标文件做一致性检查。这个开场看着啰嗦,但省掉后面无数返工。我早期犯过最大的错就是跳过了第二步,直接让 AI 生成文件,结果内容都对但结构完全偏离了预期。
Word:从资料生成可维护文档
比如手里有一份会议记录和一张计划表,要整理成一份项目简报。别一上来就让 AI 写,先把骨架定好。
先确定文档结构
text
根据 meeting-notes.docx 和 plan.xlsx 设计一份 4-6 页项目简报结构。受众是项目赞助人。先输出标题层级、每节目的、需要引用的数据和待确认问题,不生成 docx。确认结构没问题了,再动手生成:
text
使用 Documents 能力生成 output/project-brief.docx。
要求:
- 使用标题样式,不用手工加粗模拟标题;
- 决策、风险和下一步放在前两页;
- 表格可编辑,数字来自 plan.xlsx;
- 页眉页脚、页码和日期统一;
- 不写未出现在源文件中的承诺;
- 生成后渲染每一页检查分页、表格、孤行和文本溢出。说个我自己踩过的坑:有一次生成简报,内容看着完美,导出 PDF 才发现第三页的表格被拦腰截断,下半截跑到了第四页。根源就是没渲染逐页检查。所以上面最后一条不是可选项,是必选项。
Word 验收
- 目录和标题层级可导航;
- 段落、列表和表格样式统一;
- 没有空白页、孤立标题和被切断表格;
- 批注、修订和隐藏内容符合交付要求;
- 在 Word/兼容软件中打开无修复提示;
- 导出 PDF 后布局一致。
Excel:先保证口径,再追求图表
假设要做月度销售模型。新手容易上来就让 AI 画图表,漂亮是真漂亮,但公式里全是写死的数字。我的血泪教训:先对齐口径。
先做数据字典
text
读取 sales.csv、refunds.csv 和 sku-map.xlsx。先输出字段字典、主键、日期/币种/时区、缺失值、重复值和无法关联记录。不要先做图表。这一步特别省心。有次我跳过数据字典直接生成模型,后来发现 refunds 的日期用的是 UTC、sales 用的是北京时间,整列数据对不齐,排查了半天。
生成可编辑工作簿
text
使用 Spreadsheets 能力生成 output/monthly-sales.xlsx。
工作表:
1. Raw_Sales:保留原始数据只读副本;
2. Raw_Refunds;
3. Clean:清洗和 SKU 映射;
4. Metrics:销售额、退款、净收入、订单、客单价;
5. Dashboard:趋势和异常;
6. Assumptions:口径和可修改参数。
要求:公式引用单元格/命名区域,不把假设写死;异常值有标记;所有图表能回到 Metrics;生成后重新计算并抽查公式。多啰嗦一句:把 Raw 表保留只读副本这个习惯,是我覆盖了一次原始数据之后痛定思痛养成的。宁可多一张表,也别事后对不齐。
Excel 验收
- 原始数据未被覆盖;
- 主键、日期、币种和退款口径明确;
- 公式没有
#REF!、#VALUE!、循环引用; - 汇总与独立手算样本一致;
- 过滤、排序和新增行不会破坏公式;
- 图表标题、轴和单位完整;
- 使用真实 Excel/LibreOffice 打开并重算。
一句话:「公式存在」不等于「公式正确」。我每次都会抽 5-10 条记录手工核对,花不了十分钟,但能拦住一大半隐蔽错误。
PDF:区分读取、编辑和生成
PDF 的情况比较复杂,可能是:
- 有文本层的正式文档;
- 扫描件,需要 OCR;
- 表格或图纸;
- 由 Word/PPT 导出的最终交付;
- 带表单、签名或受保护内容。
不同类型的 PDF,处理策略完全不一样,别用一个套路硬套。
提取和比较
text
使用 PDF 能力比较 contract-v1.pdf 和 contract-v2.pdf。逐条列出文本、数字、日期和条款差异,标注页码。扫描/OCR 不确定内容标为低置信度。只做差异报告,不提供法律结论。OCR 那行提示是我的执念——之前比对两份合同扫描件,AI 把「壹佰万」识别成了「一百万」,意思一样但法律上可不一样。低置信度标记能让你知道哪些地方该人工复核。
生成 PDF
text
把 approved-report.docx 转为 output/report.pdf,并逐页渲染检查。确认页数、书签、链接、字体、图片清晰度和页边距。不要覆盖源 docx。PDF 验收
- 页数、纸张和方向正确;
- 搜索/复制文本符合预期;
- 扫描件 OCR 有抽样核对;
- 链接、书签和表单可用;
- 字体嵌入和图片清晰;
- 红线、批注、隐藏层和元数据经过检查;
- 涉及签名和法律文件时由专业人员复核。
从现有模板生成文件
手里有已批准的 .docx、.pptx 或 .xlsx 模板的话,优先用 Template Creator 或对应文件 Skill 来提取样式和结构。我的习惯是先拿一个文件当样本跑一遍,验完字体、页边距、母版、公式和占位符都没问题,再批量生成。
一个务实建议:不要用截图去重建复杂模板。截图看着像,但丢失了太多可编辑信息,后期改起来想哭。原始模板文件能保留的东西远比你想象的多。
批量处理的安全策略
批量和单文件完全两个难度级别。我自己的安全策略:
- 在副本目录运行;
- 先处理 3-5 个代表文件;
- 输出 manifest:输入、输出、状态、警告、校验值;
- 失败文件不覆盖原件;
- 对 OCR、公式和分页做抽样;
- 批量结果通过后再扩大范围。
核心原则就一条:让失败可控。别一口气跑 100 个文件然后发现全军覆没,连哪个环节出问题都定位不了。
常见失败
下面这四个场景我全遇到过,分享出来帮你提前避坑。
文档内容对,但分页很差
必须渲染成页面图片或 PDF 来检查,光读 DOCX 的 XML 或文本看不到分页效果。这个前面提过了,但值得再说一遍——因为太容易忘了。
Excel 看起来正常,但公式写死
表面数据都对,一拉公式栏发现全是硬编码数字。我的检查办法:改一个 Assumptions 里的参数,看关联单元格会不会自动更新。不动就是写死的。
PDF 提取漏字
先判断是扫描件、字体编码问题还是多栏布局闹的。扫描件走 OCR 并保留置信度标记;字体问题换渲染引擎试试;多栏布局有时候需要手动指定阅读顺序。
覆盖源文件
所有输出统一进 output/ 目录,批量任务保留 manifest 和原件。看起来是废话,但人在赶工的时候真的会随手覆盖——别问我是怎么知道的。
完成门槛
- [ ] 输入来源、口径和冲突已列出。
- [ ] 目标文件可在真实应用中打开。
- [ ] Word/PDF 已逐页渲染检查。
- [ ] Excel 公式和样本已独立核对。
- [ ] 原始文件未被覆盖。
- [ ] 未确认内容被明确标记。