Office360 文件工具箱
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_d41e2baa/officetool。
技能介绍
要解决什么问题
自动化脚本里处理 Office 文件时,常见痛点是:只写了公式字符串、读回却是空值;批量 docx/xlsx/pptx 转 PDF 在 Windows 与 macOS/Linux 上路径不一致;扫描 PDF 用 pdftotext 拿不到字;改已有表格又怕把原文件弄坏。office360 定位成离线、文件进文件出的批处理工具箱,用四条管道(READ / CREATE / CONVERT / EDIT)把意图路由到对应参考文档,而不是堆在一个大模块里。
核心能力与工作方式
- READ:用标准库解包 OOXML 读
DOCX/XLSX/PPTX;PDF 先pdftotext,空结果再走 OCR(pytesseract+pdf2image)。 - CREATE:
create_xlsx/create_docx/create_pptx生成文档;含公式的 XLSX 必须在收尾调用scripts/recalc.py,由 LibreOffice 无头真重算并写回数值;PPTX 可走 视觉 QA(转图 + 子代理查重叠、溢出、低对比度)。 - CONVERT:
XLSX→CSV/JSON可纯 Python;→PDF 在 Windows 上优先 Office/WPS COM,否则回退soffice --headless;PDF 侧还支持合并拆分、表单、reportlab 生成等。 - EDIT:已有 XLSX 走
openpyxl(edit_cell、插删行列,默认.bak备份);已有 DOCX 走 stdlib 文本替换(references/docx_edit.md);改公式后同样要 recalc。
路由口诀:Excel 编辑找 edit.md,Word 编辑找 docx_edit.md;「做表 → 重算 → 转 PDF」是 CREATE 接 CONVERT,但按主意图先选管道。
适用边界与注意点
- 不是实时协作或云端文档编辑器;是批量转换、抽取、改单元格这类脚本活。
- 公式真重算、PPTX 视觉 QA、跨平台高保真兜底转 PDF 依赖 LibreOffice;Windows 上 COM 转 PDF 需已装 Office 或 WPS。
- 批量任务有硬边界(如单次最多约 100 个文件或总大小 ≤500MB、单文件转换超时等),超限会拒绝或拆批,避免静默卡死。
- Python 3.13+ 解析 OOXML 时须用
tag.endswith('}localname')匹配命名空间,勿依赖有问题的ElementTree.iter('{ns}tag')写法。
使用场景
- 月结脚本里生成带 SUM/IF 的多 Sheet 销售表,跑完 `recalc.py` 真重算后批量 `soffice` 或 COM 导出 PDF 归档
- 扫描件合同 PDF 用 `pdftotext` 抽不出字时,走 `pytesseract` + `pdf2image` 把条款落成可检索文本
- Windows 上把某文件夹内几十份 docx/pptx/xlsx 一次性转 PDF,并受 100 文件/500MB 边界与失败重试汇总约束
- 在保留 `.bak` 的前提下用 `openpyxl` 改已有报表的单元格、插删行列,改公式后再调用 LibreOffice 重算
适合人员
- 每月用 Python 生成带公式的销售/费用表,并要求导出文件里合计与达成率已是数值而非空格的财务分析人员
- 维护文档流水线、需离线批量读 Office、转 PDF/CSV/JSON 且不能依赖在线协作文档的后端或数据工程师
- 按机关公文格式产出 Word、或要对已有 docx 做文本替换且不能弄丢原件的行政与文书排版岗位
- 用脚本批量生成汇报 PPTX、并希望在导出前自动检查占位符未替换与版式重叠溢出的售前或内部培训材料维护者