用户拍板:以《2026年7月道路运输量汇总表.xlsx》(已清理为“1-4 月骨架”)为母版,由程序把 5-7 月月度块按同期备份母版还原,实现“逐月扩列生成 1-N 月汇总表”的第一步试点(M1,目标期 2026-07)。口径:1-4 月保留母版数据;累计公式恢复为 1-7 月;同比 R 分母用 2025 年 1-7 月列;2025/2024 参考列保持不动;输出另存新文件,不改母版。
代码改动:
- traffic-audit-server/.../reportexport/service/ReportExportService.java
- exportSummaryWorkbook 增加:定位同期备份母版(_备份_*_清理前_*.xlsx,按 {年}年{月}月 匹配,搜索配置目录/user.dir/上级目录三个候选根)→ 逐格把“备份有内容而骨架缺失或内容不同”的单元格回填(含 5-7 月表头、数据、公式与累计/同比公式);
- 新增 resolveSummaryDonor / restoreSummaryMonthlyBlocks / summaryCellText 三个私有方法;
- 导出时置 fullCalcOnLoad=true,保证 Excel/WPS 打开即重算被改写/还原的公式。
M1 试点通过:从 1-4 月骨架母版可程序化还原出与人工 7 月母版内容零差异的完整工作簿(含 5-7 月月度块与 1-7 累计/同比公式),输出文件 docs/生成汇总大表/输出/道路运输量汇总表_2026-07.xlsx。下一步 M1b:月份>7(8-12 月)时按“上一月块克隆+列引用平移”自动插入新列(备份无对应月份时用),再接入 M2 台账数据从库内填充。
用户反馈生成产物格式不美观:定位为 exportSummaryWorkbook 中调用了 autoFitContentColumns(wb),按公式文本计算宽度后把人工母版整体列宽顶到约 36,覆盖了模板版式。
处置:汇总大表导出不再 autoFit(保留人工母版列宽/版式;其余小报表导出仍 autoFit)。重新编译并复跑 GET /api/report/export/summaryWorkbook?period=2026-07&mode=month 后:
- 列宽 diff=0、合并单元格 diff=0、行高 diff=0(与人工母版逐页比对);
- 内容 real-diff=0(31 处为整数/浮点等价差异如 46143 vs 46143.0,正常);
- 产物:docs/生成汇总大表/输出/道路运输量汇总表_2026-07.xlsx(约 921 KB)。
结论:PASS,待用户在 Excel/WPS 中打开确认视觉格式。