name: audit-sheet-print-fit description: "将含行标签的 Excel 工作底稿(如审计底稿)一键处理为打印版:标签行合并贯通、删除标签下方说明行/空行(保留数据行)、自适应列宽/行高、A4 fitToPage 打印设置、统一字体颜色,可选脱敏客户/单位名称。" agent_created: true tags: ["excel", "xlsx", "打印", "底稿", "审计", "openpyxl"]
audit-sheet-print-fit 用于把多 sheet 的 Excel 工作底稿整理成干净、可直接打印的版本。
核心能力:
--mode clear 仅清空说明行内容、保留空行。fitToPage=1×1、页边距 0.4″、横/纵向自动、显式打印区域。单位名称:...、被审计单位:...、客户名称:... 等标签后的
具体名称替换为 [客户名称],避免输出文件泄露客户/被审计单位信息;默认保留原名称,
需要脱敏时请使用 --redact。核心实现位于 scripts/process_audit_sheet.py(基于 openpyxl)。
当用户提出以下任一类请求时启用本技能:
.xlsx 底稿并要求「只调格式、别改字体」或「做成标准打印版」openpyxlpip install openpyxl
脚本路径:scripts/process_audit_sheet.py
# 默认:匹配「审计结论」或「审核结论」,删除标签下方整行,输出 <原名>_打印版.xlsx
python scripts/process_audit_sheet.py <输入.xlsx>
# 指定输出路径
python scripts/process_audit_sheet.py <输入.xlsx> -o <输出.xlsx>
# 自定义标签关键词(多个用逗号分隔)
python scripts/process_audit_sheet.py <输入.xlsx> -o <输出.xlsx> --keyword "审计结论,审核结论,审计说明"
# 仅清空下方内容、保留空行
python scripts/process_audit_sheet.py <输入.xlsx> -o <输出.xlsx> --mode clear
# 以标准版为参照,逐 cell 套用边框/对齐格式(不碰字体)
python scripts/process_audit_sheet.py <输入.xlsx> -o <输出.xlsx> --reference <标准版.xlsx>
# 输出文件脱敏单位/客户名称(默认保留原名称)
python scripts/process_audit_sheet.py <输入.xlsx> -o <输出.xlsx> --redact
注意:输入必须是
.xlsx。.xls需先转换为.xlsx。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
input |
是 | - | 输入.xlsx 路径(Windows 建议用 C:/... 或 C:\\...) |
-o, --output |
否 | <原名>_打印版.xlsx |
输出路径,不会覆盖原文件 |
--mode |
否 | delete |
delete=删除标签下方整行;clear=仅清空内容保留空行 |
--keyword |
否 | 审计结论,审核结论 |
匹配的标签关键词,可用逗号分隔多个 |
--reference |
否 | - | 标准版.xlsx 路径,以之逐 cell 套用边框/对齐格式 |
--redact / --no-redact |
否 | 关闭 | 是否脱敏表头中的单位/客户名称(默认保留原名称) |
openpyxl 打开输入 .xlsx,原文件只读不写。单位名称:...、
被审计单位:...、客户名称:...、委托单位:...、受托单位:...、
编制单位:...、客户:... 等模式后的具体名称替换为 [客户名称],
保留标签本身。默认不开启,可通过 --redact 开启。--keyword 关键词的单元格(行 R,列不固定)。若命中的单元格属于合并区域,以该合并区域的左上角作为标签位置。默认关键词为
审计结论 和 审核结论,可覆盖 "审计要点"、"审核要点" 等标签所在的同类底稿。A7:A8),先解除合并并把整个合并区域内的结论文字收集到标签行,再删除被折叠的下方行;A8:A10、文字在 B8/B9/B10)会被合并为一段;--mode clear 时仅清空说明行内容。# 号截断;# 号。wrap_text,避免长文本被截断。小葱技能站7w4.net每天更新,海量AI技能等你发现。
paperSize=9)、fitToWidth=1、fitToHeight=1、
fitToPage=True;页边距四边 0.4″、页眉页脚 0.5″,通过新建 PageMargins 对象整体赋值以覆盖原模板值;
横/纵向按内容总宽度自动选择;显式打印区域以最终内容边界计算,避免多出一行空白。delete_rows 遗留的行维度条目,保存到输出文件。绝对禁止在任何输出(包括对话回复、脚本摘要、日志、错误提示、文件名建议等)中 出现以下信息:
处理时如需引用文件或内容,仅使用:
B24)被审计单位、客户 等泛称代替具体名称process_audit_sheet.py 的摘要仅输出 sheet 名称、标签是否命中、贯通合并状态、
删除行数以及被删非空单元格的坐标,不输出单元格内容值,确保不泄露数据。
--redact。| 项目 | 说明 |
|---|---|
| 输入格式 | 仅支持.xlsx,不支持 .xls |
| 标签位置 | 关键词可出现在任意列,不一定在 A 列;默认同时识别「审计结论」「审核结论」;若标签本身纵向合并,会被折叠为单行 |
| 标签行及下方 | 先折叠标签纵向合并、合并结论延续行(A 列序号视为数据行,结束识别),再清理标签行右侧 0 值/公式;以标签下方最近的 "合计"/"小计"/"总计" 行为数据边界:结论在数据上方时保留 [标签行+1, 合计行] 内所有行(含 A 列为空、全 0 行),删除合计行下方说明行/空行;结论在底稿最下方时删除结论下方所有行;无合计行时按下方是否为空/说明行决定 |
| 内容贯通列 | 贯通到工作表实际使用的最后一列(最右非空/有边框列),不再是固定的 ws.max_column |
| 列宽范围 | min_width=10,max_width=20 |
| 横/纵向阈值 | 内容总宽度 > 53 时切换为横向(A4 竖版可打印宽约 7.47″ ≈ 53 字符) |
| 字体处理 | 仅改颜色/加粗/底色,不改字号、字体名、斜体 |
| 标准版参照 | --reference 只复制边框/对齐,不复制字体 |
处理完成后建议核对:
print_area 与最终 max_row 一致,无多余空白行;fitToWidth==1、fitToHeight==1、四边页边距 0.4″、页眉页脚 0.5″。# 号,行高能完整显示折行内容。page_setup.orientation、paperSize==9、
sheet_properties.pageSetUpPr.fitToPage==True、页边距 0.4 正确。本 skill 由 杭州智银长河科技有限公司 维护
如有问题、建议或定制需求,欢迎通过以下方式联系我们:
这个 Skill 质量较好,代码实现成熟、功能完善,文档说明详尽无歧义。它能很好地处理审计底稿的打印版整理需求,核心功能(标签合并、内容清理、自适应排版)实现得逻辑严密、考虑周全,隐私安全方面也有妥善设计。唯一的小缺憾是没有附带示例文件供用户直观参考。总体而言,是一个可靠实用的专业工具。