用途:用 Python openpyxl 构建可编辑的 .xlsx 工作簿,支持真实公式、数字格式、字体样式与原生图表,同时能读取和解析现有工作簿,无需 LibreOffice。
运行环境:要求 uv 在 PATH 中,所有 Python 通过 uv run 执行,运行时注入包镜像环境变量以解析 openpyxl,无需自行配置镜像。若 uv 缺失,必须停止并原样报告:office-xlsx requires 'uv' on PATH, but 'uv --version' failed. This is an environment problem — uv should be provisioned by the PawWork runtime. 不得回退到系统 pip,也不得尝试 pip install 或其他回退方案。技能目录以只读形式随应用捆绑,禁止写入,应在全新目录中工作。
必要用法:先将技能基准目录记为纯文件系统路径,复制 pyproject.toml(锁定 openpyxl==3.1.5),从 work/ 目录执行所有 uv run 命令。
编写规则:计算结果单元格必须写入真实 Excel 公式字符串(如 =SUM(B2:B9)),不得写预计算值,以便收件人修改输入后下游单元格可重算;来自用户数据且以 =、+、-、@ 开头的值必须存为文本(cell.data_type="s"、number_format="@")以防公式注入,需要链接时使用 cell.hyperlink 而非 HYPERLINK() 公式,门禁会拦截 HYPERLINK/WEBSERVICE/IMPORT*/DDE 类公式;金额、百分比、日期列须显式设置 number_format;表头须显式设置加粗字体及必要的填充、对齐、边框;须冻结表头行并设置合理列宽;图表须用 openpyxl.chart 构建绑定数据区域的真实图表对象,而非粘贴图片;每个工作表只承担一个关注点,将输入、模型、输出分到命名工作表。
读取与解析:load_workbook(path) 读取公式,load_workbook(path, data_only=True) 读取上次缓存的计算值;编辑已有工作簿时加载后修改单元格再保存。
交付门禁:交付前运行结构检查脚本,按要求传 --min-sheets、--require-formula(计算类任务)、--require-chart(需要图表时),必须修复报告的问题并重新生成直至打印 OK。门禁确认工作簿可打开、有填充单元格、标记注入式公式,并从 xl/charts/chart*.xml 统计图表。工作簿完成与否以该机器检查为准。
限制:未提供具体平台、收费、价格信息;除上述 uv 与技能目录只读约束外,其余事实暂未提供。