财务导出 3 月明细 31,204 行,最后一行直接是数据,没有合计,每次都要手工拉公式,月底多花两小时。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

ws.append(["合计", "", "", sum_amount])
ws.freeze_panes = "A2"

导出逻辑只遍历明细,合计行没有单独追加。分页写文件时每页各自结束,也没有表头重复。财务拿到的是纯数据,不知道哪一列该加。这一点先确认清楚,后面就不用反复试。

「导出缺合计」这类改动最怕改一半,回滚脚本先准备好,再动生产。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

具体做法是,导出末尾追加合计行 金额列求和;多 sheet 时每个 sheet 都带表头和合计;合计值与报表汇总核对一致后再下发;导出 3 万行打开检查最后一行和列宽。

改完照着核一遍,Excel 最后一行显示合计 1,283,400,与报表汇总一致。

作者 9823189