fix: 汇总工作簿导出不再 autoFit(保留人工母版列宽,避免公式把版式顶宽)
2个文件已修改
11 ■■■■■ 已修改文件
docs/功能测试报告/功能测试报告_汇总工作簿月度块扩列还原试点_2026-09-04.md 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/¹¦ÄܲâÊÔ±¨¸æ/¹¦ÄܲâÊÔ±¨¸æ_»ã×ܹ¤×÷²¾Ô¶ȿéÀ©Áл¹Ô­ÊÔµã_2026-09-04.md
@@ -28,3 +28,11 @@
## ç»“论
M1 è¯•点通过:从 1-4 æœˆéª¨æž¶æ¯ç‰ˆå¯ç¨‹åºåŒ–还原出与人工 7 æœˆæ¯ç‰ˆå†…容零差异的完整工作簿(含 5-7 æœˆæœˆåº¦å—与 1-7 ç´¯è®¡/同比公式),输出文件 docs/生成汇总大表/输出/道路运输量汇总表_2026-07.xlsx。下一步 M1b:月份>7(8-12 æœˆï¼‰æ—¶æŒ‰â€œä¸Šä¸€æœˆå—克隆+列引用平移”自动插入新列(备份无对应月份时用),再接入 M2 å°è´¦æ•°æ®ä»Žåº“内填充。
## é™„注:输出格式修复(2026-09-04 14:15 å¤æµ‹ï¼‰
用户反馈生成产物格式不美观:定位为 `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 ä¸­æ‰“开确认视觉格式。
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java
@@ -3217,8 +3217,7 @@
                log.warn("汇总工作簿未找到同期备份母版(_备份_{}å¹´{}月…),输出将保持母版现状(可能为 1-4 æœˆéª¨æž¶ï¼‰", year, month);
            }
            dynamicSummaryYear(wb, year);
            applyTwoDecimalFormat(wb);
            autoFitContentColumns(wb); // æ±‡æ€»è¡¨å¯¼å‡ºåŽæŒ‰å†…容加宽列宽(只加宽不缩窄)
            applyTwoDecimalFormat(wb); // æ±‡æ€»å¤§è¡¨ä¿ç•™äººå·¥æ¯ç‰ˆåˆ—宽/版式:不做 autoFit(长公式会把列宽顶爆)
            if (!wb.getCTWorkbook().isSetCalcPr()) wb.getCTWorkbook().addNewCalcPr();
            wb.getCTWorkbook().getCalcPr().setFullCalcOnLoad(true); // è¿˜åŽŸ/改写公式后打开即重算
            return toBytes(wb);