From 53c6f66db6352373f1fe5171dfe42ed0d716141a Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期五, 18 九月 2026 13:37:23 +0800
Subject: [PATCH] fix(中口径): 库内缺数据不再覆盖母版定稿值 + 跨簿重算容错 + 报表期后月份清空
---
docs/工作日结/工作日结_2026-09-18.md | 53 +++++++++++++++--
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java | 50 +++++++++++++---
docs/功能测试报告/功能测试报告_中口径四维口径统一_2026-09-18.md | 36 +++++++++--
3 files changed, 114 insertions(+), 25 deletions(-)
diff --git "a/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\344\270\255\345\217\243\345\276\204\345\233\233\347\273\264\345\217\243\345\276\204\347\273\237\344\270\200_2026-09-18.md" "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\344\270\255\345\217\243\345\276\204\345\233\233\347\273\264\345\217\243\345\276\204\347\273\237\344\270\200_2026-09-18.md"
index 7d82b1e..19ac168 100644
--- "a/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\344\270\255\345\217\243\345\276\204\345\233\233\347\273\264\345\217\243\345\276\204\347\273\237\344\270\200_2026-09-18.md"
+++ "b/docs/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212/\345\212\237\350\203\275\346\265\213\350\257\225\346\212\245\345\221\212_\344\270\255\345\217\243\345\276\204\345\233\233\347\273\264\345\217\243\345\276\204\347\273\237\344\270\200_2026-09-18.md"
@@ -16,19 +16,27 @@
- 鎬诲杩愰噺/鎬诲懆杞噺 = 缁村害 1+2+3+4锛坄loadMidClassMap` 鐨勭淮搴� 0锛夛紱
- **鍏ㄧ渷琛屼竴寰� = 危17 甯傚窞**锛堜笉閲囩敤搴撳唴 `region_code='420000'` 鐨勫叏鐪佽锛岃鍙e緞 1-8 鏈堟瘮 危甯傚窞澶� 3042.75锛屽睘涓氬姟寰呮牳椤癸級锛�
- 鍚屾瘮 = (鏈湡 鈭� 鍘诲勾鍚屾湡) / 鍘诲勾鍚屾湡锛涙棤鍘诲勾鏁版嵁鐣欑┖銆�
+- **缂烘暟鎹鐞嗚鍒欙紙鏈鏂板锛岄噸瑕侊級**锛氬簱鍐呰鏈堣缁存病鏈夋簮鏁版嵁鏃讹紝**淇濈暀姣嶇増/妯℃澘鍘熷��**锛岀粷涓嶅啓绌恒�佷篃涓嶅啓 0銆�
+ 涓彛寰勬槑缁嗙殑鍩庡競绾с�屽煄闄呭煄涔″贰娓稿嚭绉�/缃戠害杞︺�嶈鏈潵灏辨槸銆屽彴璐﹂〉 鎬婚噺 鈭� 鍩庡競鍐呫�嶇殑寮曠敤骞跺凡涓氬姟瀹氱锛�
+ 鐢ㄥ簱鍐呯己澶卞�艰鐩栵紝浼氭妸瀹氱鏁版竻鎺夛紙2026-01~06 缃戠害杞﹁鍗曠己澶辨椂锛屽叏鐪� 333.39 涓庡悇甯傚窞鍊艰娓呯┖杩囷級銆�
**鏈鏀瑰姩鏂囦欢**锛歚traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java`
- `loadMidClassMap()`锛氳ˉ缁村害 3锛堝贰娓稿嚭绉熷煄涔★級銆佺淮搴� 4锛堢綉绾﹁溅鍩庝埂锛夛紝鏂板 `midPeriodKey()`锛�
- `fillMidCell()`锛氬幓鎺夈�屽嚭绉�/缃戠害杞﹀啓姝� 0銆嶆梺璺紝鍥涚淮缁熶竴鍙栧簱鍐呭�硷紱
- `fillMidYoyCell()` / `fillMidCumYoyColumn()`锛氬悓姣旂敱銆屽彧绠楀墠涓ょ淮銆嶆敼涓哄洓缁撮綈鍏紱
-- `exportPassengerMidDetail()`锛氱敱銆屽彧澶勭悊鍏紡鏍笺�嶆敼涓恒�屾寜鍒楅亶鍘嗐�嶏紝鎵╁垪鍑烘潵鐨� 7~12 鏈堢┖鏍兼墠濉緱涓婏紱鎵╁垪鏈堜唤鐨勬�昏鍊煎垪鐢卞簱鍐呭洓缁村悎璁$洿鎺ュ啓鍏ワ紱閲嶇畻鏀圭敤閫愭牸瀹归敊鐨� `recalcWorkbookFormulas()`锛堝師 `evaluateAll()` 浼氬湪璺ㄧ翱鍏紡澶勬暣鏈腑鏂紝绱鍒楁嬁涓嶅埌鏂扮紦瀛樺�硷級銆�
+- `exportPassengerMidDetail()`锛氱敱銆屽彧澶勭悊鍏紡鏍笺�嶆敼涓恒�屾寜鍒楅亶鍘嗐�嶏紝鎵╁垪鍑烘潵鐨� 7~12 鏈堢┖鏍兼墠濉緱涓婏紱
+- 鎬昏鍊煎垪**涓�寰嬩繚鐣欐ā鏉垮叕寮�**锛�1~6 鏈堝師鍏紡 + 鎵╁垪鍏嬮殕鍑烘潵鐨勫叕寮忥級锛岀敱鏀跺熬閲嶇畻濉�硷紙涓嶅啀 `keepCached` 娓呭叕寮忋�佷篃涓嶅啀鎵嬪啓鍚堣锛夛紱
+- `fillMidCell()`锛氬簱鍐呭彇鍊间负 0锛堣鏈堣缁存棤婧愶級鏃剁洿鎺ヨ繑鍥烇紝淇濈暀姣嶇増/瀹氱鍘熷�硷紱
+- 閲嶇畻鏀圭敤閫愭牸瀹归敊鐨� `recalcWorkbookFormulas()`锛屽苟 `setIgnoreMissingWorkbooks(true)`锛氳法绨垮叕寮忥紙`[1]鍑虹!C13`锛夊湪澶栭儴宸ヤ綔绨跨己澶辨椂鏀圭敤璇ユ牸鑷韩缂撳瓨鍊煎弬涓庤绠楋紝鍚﹀垯寮曠敤瀹冪殑鎬昏/绱浼氳繛閿佸け璐ワ紙琛ㄧ幇涓�"鍏紡鍦ㄣ�佷絾娌℃湁缂撳瓨鍊�"锛夛紱
+- 鏂板 `blankFutureMonthColumns()`锛氭姤琛ㄦ湡涔嬪悗鐨勬湀浠藉垪锛堝 8 鏈堟姤琛ㄩ噷鐨� 9~12 鏈堬級娓呯┖鏁版嵁鏍笺�佷繚鐣欒〃澶达紝閬垮厤鍑虹幇"9~12 鏈堝叏鏄� 0"鐨勫亣鏁版嵁銆�
## 浜屻�佹祴璇曠幆澧�
-- 鍚庣 8090锛坄start-dev.ps1` 閲嶅惎锛孭ID 11772锛夈�佸墠绔� 8080锛堝鐢ㄥ凡鍦ㄨ繍琛屽疄渚嬶級锛涙暟鎹簱 `traffic_audit`锛�127.0.0.1:3308锛夛紱鎶ヨ〃鏈� 2026-08锛宮ode=month銆�
+- 鍚庣 8090锛坄start-dev.ps1` 閲嶅惎锛岀浜岃疆 PID 18516锛夈�佸墠绔� 8080锛堝鐢ㄥ凡鍦ㄨ繍琛屽疄渚嬶級锛涙暟鎹簱 `traffic_audit`锛�127.0.0.1:3308锛夛紱鎶ヨ〃鏈� 2026-08锛宮ode=month銆�
- 瀵煎嚭鎺ュ彛锛歚/api/report/export/summaryWorkbook`銆乣/api/report/export/passengerMidDetail`銆乣/api/report/export/passengerMidRank`銆�
-- 璇佹嵁鏂囦欢锛歚_tmp/_qa_out/step3c_summary.xlsx`銆乣step3c_midDetail.xlsx`銆乣step3c_midRank.xlsx`銆乣chk_step3c2.txt`銆乣chk_step3c3.txt`銆乣cmp_step3bc.txt`锛堟湰杞級锛沗step3b_*.xlsx`锛堟敼鍔ㄥ墠鍩虹嚎锛夈��
+- 璇佹嵁鏂囦欢锛堢涓�杞級锛歚_tmp/_qa_out/step3c_summary.xlsx`銆乣step3c_midDetail.xlsx`銆乣step3c_midRank.xlsx`銆乣chk_step3c2.txt`銆乣chk_step3c3.txt`銆乣cmp_step3bc.txt`锛沗step3b_*.xlsx`锛堟敼鍔ㄥ墠鍩虹嚎锛夈��
+- 璇佹嵁鏂囦欢锛堢浜岃疆/鏈�缁堬級锛歚_tmp/_qa_out/step3g_summary.xlsx`銆乣step3g_midDetail.xlsx`銆乣step3g_midRank.xlsx`銆乣export_step3g.txt`銆乣chk_step3g.txt`銆乣cmp_md_vs_summary.txt`锛涘鍑鸿剼鏈� `export_step3g.py`銆�
## 涓夈�佺敤渚嬭〃
@@ -46,6 +54,11 @@
| 10 | 璐熷悜/杈圭晫 | `wyc_order_monthly` 2026-01~06 璁㈠崟鍒楀叏涓� NULL銆佹ā鏉裤�婄綉绾﹁溅璁㈠崟鍙婂叏鐪佹�婚噺.xlsx銆嬪彧鏈� 2026-07 涓�琛屾湁鏁版嵁 | 缁村害 4 璇ユ湀鏃犳簮 鈫� 琛岀暀绌猴紙涓嶇紪閫狅級 | 鐙珛浠躲�屽煄闄呭煄涔$綉绾﹁溅銆�1-6 鏈堜负绌猴紱姹囨�昏〃璇ュ彛寰勭敱姣嶇増瀹氱鎵胯浇 | 閫氳繃锛堟寜棰勬湡鐣欑┖骞惰褰曪級 |
| 11 | 璐熷悜/杈圭晫 | 鍘诲勾鍚屾湡鏃犳暟鎹紙濡� 2025-01 缃戠害杞﹁鍗曠己澶憋級 | 鍚屾瘮鐣欑┖ | 鐣欑┖锛屾湭鍐� 0 / #DIV/0! | 閫氳繃 |
| 12 | 璐熷悜/杈圭晫 | 缂烘ā鏉挎枃浠� | 鎶涖�屾湭鎵惧埌妯℃澘鏂囦欢銆嶅苟鍐欏叆鍚庣鏃ュ織 | 鏈Е鍙戯紙妯℃澘榻愬叏锛� | 涓嶉�傜敤 |
+| 13 | 姝e悜 | 鐙珛浠跺煄甯傜骇銆屽煄闄呭煄涔$綉绾﹁溅銆嶏紙R14 姝︽眽 / R19 榛勭煶 鈥︼級1~6 鏈� | 鏈夊�硷紙娌跨敤瀹氱锛�0 / 13.5998 / 10.668 / 鈥︼級锛屼笉琚竻绌� | 0 / 13.599765541547697 / 10.668042925780014 鈥� | 閫氳繃 |
+| 14 | 姝e悜 | 鐙珛浠� 18 鍦板尯 脳 12 涓湀锛氭�昏 = 危 璇ュ潡 4 缁磋銆佺疮璁� = 危1-8 鏈� | 鍏ㄩ儴鐩哥瓑 | 涓嶄竴鑷存暟 0 | 閫氳繃 |
+| 15 | 姝e悜 | 鐙珛浠朵笌姹囨�诲ぇ琛ㄣ�屼腑鍙e緞鏄庣粏銆嶉〉 1~8 鏈堥�愭牸瀵圭収锛�18 鍦板尯 脳 5 琛� 脳 8 鏈堬級 | 瀹屽叏涓�鑷� | 704 瀵规牸 0 宸紓 | 閫氳繃 |
+| 16 | 璐熷悜/杈圭晫 | 鎶ヨ〃鏈熶箣鍚庣殑鏈堜唤鍒楋紙9~12 鏈堬級 | 鏁版嵁鏍间负绌恒�佽〃澶翠繚鐣� | 鏁版嵁鏍煎叏绌恒�佽〃澶� `2026骞�9鏈堚��12鏈坄 淇濈暀 | 閫氳繃 |
+| 17 | 鍥炲綊 | 鏈疆鏀瑰姩鍓嶅悗锛氭眹鎬诲ぇ琛� 17 椤点�佺嫭绔嬨�婄敓鎴恄涓彛寰勬帓鍚嶃�� | 0 宸紓 | 鍧� 0 宸紓锛涚嫭绔嬨�婄敓鎴恄涓彛寰勬槑缁嗐�嬪樊寮備粎钀藉湪 鎬昏/鍑虹鍩庝埂/缃戠害杞﹀煄涔� 涓夌被琛岀殑鏈堜唤鍒椾笌绱鍒� | 閫氳繃 |
**鍏ュ簱鎶芥煡**锛堟姤琛ㄦ湡 2026-08锛屼笌婧愯〃閫愰」瀵归綈锛�
@@ -64,9 +77,14 @@
- 鐜拌薄锛氭帓鍚嶄欢鍏ㄧ渷绱 = 29464.6108銆佺疮璁″悓姣� = 0.638锛涗腑鍙e緞鏄庣粏鍏ㄧ渷绱 = 31528.0607銆佺疮璁″悓姣� = 0.0581锛屽樊鍊� 2063.45 = 2026 骞� 1-6 鏈堢淮搴� 4锛�333.39+294.49+347.23+335.39+369.27+383.68锛夈��
- 鏍瑰洜锛氭帓鍚嶄欢鐢� Java 鐢� `loadMidClassMap()` 鐜扮畻锛�1-6 鏈堢綉绾﹁溅鏃犳簮 鈫� 灏戜竴鍧楋紝涓� 2025 骞村熀绾夸篃鍙湁搴撳唴鍙e緞锛夛紱涓彛寰勬槑缁嗛〉璧扮殑鏄瘝鐗堝叕寮忛摼 + 瀹氱缂撳瓨鍊笺��
- 寤鸿锛氳銆婃眹鎬昏〃涓夋潯涓荤嚎淇鏂规_2026-09-18銆嬬 3 姝モ�斺�旂粺涓�鐢便�屾瘝鐗堝叕寮忛摼 + 鍙拌处椤点�嶅嚭鏁帮紝Java 涓嶅啀鍙︾畻涓�濂楋紙璇﹁鏈疆绛斿锛夈��
-3. **锛堝睘姣嶇増缂洪櫡锛変腑鍙e緞鏄庣粏鍩庡競绾с�屽煄闄呭煄涔″贰娓稿嚭绉�/缃戠害杞︺�嶈鍏紡寮曢敊椤�**
- - 鐜拌薄锛氭姹� R13/R14 鍏紡涓� `=鍏氦!C13-鍏氦!C15`锛堝簲鍒嗗埆鎸囧悜 `鍑虹!`銆乣缃戠害杞�!`锛夛紝鍩庡競绾ф亽涓� 0锛涜�屽叏鐪佽 R8/R9 闈犳瘝鐗堢紦瀛樺�肩粰鍑虹湡瀹炴暟锛�535.83 / 333.39锛夛紝浜岃�呬笉鑷唇銆�
- - 澶勭疆锛氶渶淇瘝鐗堣繖涓よ鐨勫叕寮忓紩鐢紙涓�娆℃�э級锛屼箣鍚庣敱閲嶇畻鑷姩鍑哄�笺�傛湰娆℃湭鏀规瘝鐗堛��
+3. **锛堝凡绾犳鐨勮鍒わ級"姣嶇増鍏紡寮曢敊椤�"涓嶆垚绔�**
+ - 涓婁竴杞粨璁鸿鍒ょ殑缁忚繃锛氭帶鍒跺彴閲屼腑鏂囦贡鐮侊紙`锟斤拷锟斤拷!`锛夛紝鎶� `=鍑虹!C13-鍑虹!C15` 褰撴垚 `=鍏氦!C13-鍏氦!C15`銆�
+ - 澶嶆牳缁撹锛堝啓鍏ユ枃浠跺悗鎸夊垪璇诲彇锛岄伩寮�涔辩爜锛夛細姣嶇増銆婁腑鍙e緞鏄庣粏銆嬩笌鐙珛妯℃澘閮芥槸**姝g‘鐨勫叕寮忛摼**鈥斺��
+ 鍩庡競绾у煄涔¤ = `=[1]鍑虹!C13-[1]鍑虹!C15` / `=[1]缃戠害杞�!C13-[1]缃戠害杞�!C15`锛堝彴璐﹂〉 鎬婚噺 鈭� 鍩庡競鍐咃級锛�
+ 鍏ㄧ渷琛� = `=C13+C18+鈥锛埼�17 甯傚窞锛夛紝鎬昏 = `=C6+C7+C8+C9`銆�
+ - 鍙嶅悜楠岃瘉锛氬彴璐﹂〉銆屾�婚噺 鈭� 鍩庡競鍐呫�嶆寜 17 甯傚窞姹傚拰 = **535.83 / 333.39**锛屼笌姣嶇増鍏ㄧ渷琛屽畾绋垮�煎畬鍏ㄤ竴鑷达紱
+ 姝︽眽 鍑虹/缃戠害杞﹀煄涔� = 0锛堣甯傚叏閮ㄤ负鍩庡競鍐咃級锛岄粍鐭� = 26.01 / 13.5998锛屼笌姣嶇増閫愰」涓�鑷淬��
+ - 鐪熸鐨勬牴鍥犲湪鎴戜滑鑷繁鐨勪唬鐮侊細搴撳唴鏃犳簮鏃舵妸妯℃澘鍏紡/缂撳瓨鍊兼竻绌猴紙瑙侀棶棰� 1 涓�"缂烘暟鎹鐞嗚鍒�"锛夈��
4. **锛堟暟鎹己鍙o級2026 骞� 1-6 鏈堢綉绾﹁溅璁㈠崟鏈叆搴�**
- `wyc_order_monthly` 2026-01~06 浠呮湁 `pin_*`锛宍order_*` 鍏� NULL锛涙ā鏉挎枃浠朵篃鍙湁 2026-07 涓�琛屾湁鏁版嵁 鈫� 缁村害 4 鐨� 1-6 鏈堟棤婧愩��
@@ -74,4 +92,8 @@
鏈鏀瑰姩鎶娿�屼腑鍙e緞銆嶄粠 2 缁达紙鐝嚎+鍏氦锛夌粺涓�涓� 4 缁达紝骞朵慨鎺変簡鐙珛銆婄敓鎴恄涓彛寰勬槑缁嗐�嬫墿鍒楁湀浠芥�昏涓虹┖銆佺疮璁″仠鍦ㄤ笂涓�鏈熺殑闂锛涘凡楠岃瘉 12 鏉$敤渚嬶紙6 姝e悜 / 3 鍥炲綊 / 3 璐熷悜杈圭晫锛夊叏閮ㄩ�氳繃锛屾眹鎬诲ぇ琛� 17 椤典笌銆婄敓鎴恄涓彛寰勬帓鍚嶃�嬮浂鍥炲綊銆�
-浠嶅緟澶勭悊锛氭帓鍚嶄欢涓庢槑缁嗕欢鐨勫彛寰勫綊涓�锛堥棶棰� 2锛岄渶涓氬姟/鏂规纭锛夈�佹瘝鐗堜腑鍙e緞鏄庣粏鍩庡競绾у叕寮忓紩閿欓〉锛堥棶棰� 3锛夈�佺綉绾﹁溅 1-6 鏈堣鍗曟暟鎹己鍙o紙闂 4锛夈��
+浠嶅緟澶勭悊锛氭帓鍚嶄欢涓庢槑缁嗕欢鐨勫彛寰勫綊涓�锛堥棶棰� 2锛岄渶涓氬姟/鏂规纭锛夈�佺綉绾﹁溅 2026-01~06 涓� 2025-01/09/10 璁㈠崟鏁版嵁缂哄彛锛堥棶棰� 4锛夈��
+
+**琛ヨ锛堝悓鏃ョ浜岃疆锛�**锛氭湰杞妸"缂烘暟鎹繚鐣欏畾绋垮�� + 鎬昏淇濈暀鍏紡 + 璺ㄧ翱瀹归敊閲嶇畻 + 鎶ヨ〃鏈熶箣鍚庢湀浠芥竻绌�"鍥涙潯骞惰繘锛�
+鐙珛銆婄敓鎴恄涓彛寰勬槑缁嗐�嬬幇鍦�**鏁磋〃鑷唇**锛�18 鍦板尯 脳 12 涓湀锛氭�昏 = 危4 缁淬�佺疮璁� = 危1-8 鏈堬紝涓嶄竴鑷存暟 0锛夛紝
+涓斾笌姹囨�诲ぇ琛ㄣ�屼腑鍙e緞鏄庣粏銆嶉〉 1~8 鏈堥�愭牸涓�鑷达紙704 鏍� 0 宸紓锛夛紱姹囨�诲ぇ琛� 17 椤典笌鎺掑悕浠堕浂鍥炲綊銆�
diff --git "a/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-18.md" "b/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-18.md"
index eb065a0..f1a92f4 100644
--- "a/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-18.md"
+++ "b/docs/\345\267\245\344\275\234\346\227\245\347\273\223/\345\267\245\344\275\234\346\227\245\347\273\223_2026-09-18.md"
@@ -38,6 +38,28 @@
- 銆婄敓鎴恄涓彛寰勬帓鍚嶃�嬪叏鐪佺疮璁� 29464.6108 / 鍚屾瘮 0.638锛屾瘮涓彛寰勬槑缁嗗皯 2063.45锛屽樊鍊兼濂芥槸 2026 骞� 1-6 鏈堢淮搴� 4锛堢綉绾﹁溅锛夆啋 鎺掑悕浠舵槸 Java 鐜扮畻銆佹槑缁嗛〉璧版瘝鐗堝叕寮忛摼锛屼袱濂楀彛寰勬墦鏋讹紙绗� 3 姝ョ殑鐪熸鏀跺彛鐐癸級銆�
- 姣嶇増銆屼腑鍙e緞鏄庣粏銆嶅煄甯傜骇銆屽煄闄呭煄涔″贰娓稿嚭绉�/缃戠害杞︺�嶈鍏紡寮曢敊椤碉紙`=鍏氦!C13-鍏氦!C15`锛屽簲鎸囧悜 `鍑虹!`/`缃戠害杞�!`锛夛紝鍩庡競绾ф亽 0銆佸叏鐪佽闈犵紦瀛樺�� 鈫� 闇�淇瘝鐗堝叕寮忎竴娆°��
+
+### 4. 绗� 3 姝ユ敹灏撅細缂烘暟鎹笉鍐嶈鐩栧畾绋垮�硷紙13:30锛�
+
+鐢ㄦ埛鍙嶉銆岀嫭绔嬨�婄敓鎴恄涓彛寰勬槑缁嗐��8 鏈堟病闂浜嗭紝浣� 1~6 鏈堝弽鑰岃娓呯┖銆嶅悗锛岃拷鍑�**鐪熸鏍瑰洜**锛�
+
+- `exportPassengerMidDetail()` 瀵规墿鍒楁湀浠斤紙>6 鏈堬級鐨勬�昏鍊煎垪鏄�岀洿鎺ュ啓搴撳唴鍥涚淮鍚堣銆佸啓 0 灏� setBlank銆嶏紱
+ 鑰� 1~6 鏈堣蛋 `keepCached()` 鎶婂叕寮忔竻鎴愮┖鏍� 鈫� 琛ㄩ潰涓� 7/8 鏈堜慨濂戒簡锛屽疄闄呬笂鎶婃瘝鐗堢殑瀹氱閾捐矾鎺愭柇浜嗐��
+- `fillMidCell()` 鍚屾牱銆屽簱鍐呭彇鍊间负 0 鈫� setBlank銆嶏紝浜庢槸 2026-01~06 缃戠害杞﹀煄涔★紙搴撳唴璇� 6 涓湀鏃犺鍗曘�佺淮搴� 4 鏃犳簮锛夎鏁寸墖娓呯┖锛�
+ 杩炲甫鎬昏銆佺疮璁°�佸悓姣斿叏閿欍��
+
+**鏀瑰姩锛坄ReportExportService.java`锛�4 澶勶級**锛�
+
+1. `exportPassengerMidDetail()` 鎬昏鍊煎垪锛氬垹鎺夈�屾墿鍒楁湀浠芥墜鍐欏簱鍐呭悎璁°�嶄笌 `keepCached` 娓呭叕寮忎袱鏉℃梺璺紝**涓�寰嬩繚鐣欐ā鏉垮叕寮�**锛岀敱鏀跺熬閲嶇畻鍐欏洖缂撳瓨鍊笺��
+2. `fillMidCell()`锛氬簱鍐呭彇鍊间负 0锛堣鏈堣缁存棤婧愶級鏃�**鐩存帴 return锛屼繚鐣欐瘝鐗�/瀹氱鍘熷��**鈥斺�旂粷涓嶅啓绌恒�佷篃缁濅笉鍐� 0銆�
+3. `recalcWorkbookFormulas()`锛氭柊澧� `ev.setIgnoreMissingWorkbooks(true)`銆傝法绨垮叕寮忥紙`[1]鍑虹!C13`锛夊湪澶栭儴宸ヤ綔绨跨己澶辨椂榛樿鎶涘紓甯革紝
+ 浼氳寮曠敤瀹冪殑鎬昏/绱杩為攣澶辫触锛堣〃鐜颁负銆屽叕寮忓湪銆佹病鏈夌紦瀛樺�笺�嶏級锛岀疆 true 鍚庢敼鐢ㄨ鏍艰嚜韬紦瀛樺�煎弬涓庤绠椼��
+4. 鏂板 `blankFutureMonthColumns()`锛氭姤琛ㄦ湡涔嬪悗鐨勬湀浠藉垪锛�8 鏈堟姤琛ㄩ噷鐨� 9~12 鏈堬級**娓呮暟鎹牸銆佺暀琛ㄥご**锛岄伩鍏嶅厠闅嗗叕寮忕畻鍑恒��9~12 鏈堝叏鏄� 0銆嶇殑鍋囨暟鎹��
+
+**閲嶈绾犳锛堝啓杩涙祴璇曟姤鍛婏紝涔熷湪姝ょ暀鐥曪級**锛氭棭鍓嶅垽鏂�屾瘝鐗堜腑鍙e緞鏄庣粏鍩庡競绾у叕寮忓紩閿欓〉锛坄=鍏氦!C13-鍏氦!C15`锛夈�嶆槸**璇垽**鈥斺��
+閭f槸鎺у埗鍙颁腑鏂囦贡鐮侀�犳垚鐨勮璇伙紱姣嶇増/妯℃澘鐪熷疄鍏紡鏄纭殑 `=[1]鍑虹!C13-[1]鍑虹!C15` / `=[1]缃戠害杞�!C13-[1]缃戠害杞�!C15`锛�
+鍙拌处椤点�屾�婚噺鈭掑煄甯傚唴銆嵨�17 甯傚窞 = 535.83 / 333.39锛屼笌姣嶇増瀹氱鍏ㄧ渷琛屽畬鍏ㄤ竴鑷淬��**姣嶇増鍏紡涓嶉渶瑕佷慨锛屼箣鍓�"寰呬慨姣嶇増"鐨勭粨璁轰綔搴熴��**
+
## 浜屻�佹祴璇曠粨鏋滄憳瑕�
瑙� `docs/鍔熻兘娴嬭瘯鎶ュ憡/鍔熻兘娴嬭瘯鎶ュ憡_姹囨�昏〃鍏紡鎵╅〉涓庨噸绠梍2026-09-18.md`锛�8 鏉℃鍚� + 4 鏉¤礋鍚�/杈圭晫 + 4 椤瑰叆搴撴娊鏌ワ紝鍏ㄩ儴閫氳繃銆�
@@ -55,12 +77,26 @@
- 18 涓湴鍖� 脳锛�7銆�8 鏈堬級鎬昏 = 危 璇ュ潡 4 缁磋锛涚疮璁″垪缂撳瓨鍊� = 危1-8 鏈堬紙鍏ㄧ渷 31528.0607锛夛紱
- 鍥炲綊锛氭眹鎬诲ぇ琛� 17 椤� 0 鏍煎彉鍖栥�併�婄敓鎴恄涓彛寰勬帓鍚嶃��0 鏍煎彉鍖栥�併�婄敓鎴恄涓彛寰勬槑缁嗐�嬩粎 36 鏍煎彉鍖栵紙鍏ㄩ儴鏄洰鏍囨牸锛夈��
+
+### 绗� 3 姝ユ敹灏撅紙13:30锛夐獙璇�
+
+- 鐙珛銆婄敓鎴恄涓彛寰勬槑缁嗐�嬶細18 鍦板尯 脳 12 涓湀锛�**鎬昏 = 危4 缁淬�佺疮璁� = 危1-8 鏈堬紝涓嶄竴鑷存暟 0**锛�9~12 鏈堟暟鎹牸鍏ㄧ┖銆佽〃澶翠繚鐣欍��
+- 涓庢眹鎬诲ぇ琛ㄣ�屼腑鍙e緞鏄庣粏銆嶉〉 1~8 鏈� **704 瀵规牸 0 宸紓**銆�
+- 鍏ㄧ渷 1-8 鏈堟�诲杩愰噺锛�3733.79 / 3777.83 / 3874.44 / 3959.25 / 4115.87 / 4034.99 / 4028.32 / 4003.57锛�
+ 缃戠害杞﹀煄涔★細333.39 / 294.49 / 347.23 / 335.39 / 369.27 / 383.68 / 421.46 / 426.56锛涚疮璁� AA5 = 31528.0607銆丄A9 = 2911.47銆�
+- 鍩庡競绾х綉绾﹁溅鍩庝埂锛氭姹� 0銆侀粍鐭� 13.599765541547697锛堟部鐢ㄥ畾绋匡紝鏈娓呯┖锛夈��
+- 鍥炲綊锛氭眹鎬诲ぇ琛� 17 椤� **0 鏍煎樊寮�**銆併�婄敓鎴恄涓彛寰勬帓鍚嶃��**0 鏍煎樊寮�**锛�
+ 鏄庣粏浠跺樊寮備粎钀藉湪 鎬昏 / 鍑虹鍩庝埂 / 缃戠害杞﹀煄涔� 琛岀殑鏈堜唤鍒椾笌 AA 绱鍒楋紙灞為鏈燂級銆�
+
## 涓夈�侀仐鐣欓棶棰樹笌寰呭姙
1. ~~涓彛寰勬帓鍚嶅悓姣斾粛鏄啓姝诲�紐~ 鈫� **宸叉寜鏂板彛寰勫彇鍊�**锛圡3=0.638 / Q3=0.2247锛夛紝浣嗕粛涓庝腑鍙e緞鏄庣粏鐨� 0.0581 涓嶈嚜娲斤紝宸�� 2063.45 = 缃戠害杞� 1-6 鏈堟棤婧愶紱**鏀跺彛鍔炴硶瑙佷笅鏂�"绗� 3 姝ユ敹鍙e缓璁�"**銆�
2. ~~`loadMidClassMap()` 缂哄贰娓稿嚭绉� + 缃戠害杞︿袱缁磣~ 鈫� **宸茶ˉ**锛堢淮搴� 3銆�4锛夛紝鐙珛涓彛寰勬槑缁嗗洓缁撮綈鍏ㄣ��
-3. **姣嶇増缂洪櫡寰呬慨**锛氫腑鍙e緞鏄庣粏鍩庡競绾с�屽煄闄呭煄涔″贰娓稿嚭绉�/缃戠害杞︺�嶈鍏紡寮曢敊椤碉紙鎸囧悜 `鍏氦!`锛夛紝鍩庡競绾ф亽 0銆佸叏鐪佽闈犵紦瀛樺�笺��
-4. **鏁版嵁缂哄彛**锛�2026-01~06 缃戠害杞﹁鍗曟湭鍏ュ簱锛坄order_*` 鍏� NULL锛夛紝妯℃澘銆婄綉绾﹁溅璁㈠崟鍙婂叏鐪佹�婚噺.xlsx銆嬪彧鏈� 2026-07 涓�琛� 鈫� 缁村害 4 璇� 6 涓湀鏃犳簮锛涢渶涓氬姟琛ユ暟鎴栫‘璁や笉閫傜敤銆�
+3. ~~**姣嶇増缂洪櫡寰呬慨**锛氫腑鍙e緞鏄庣粏鍩庡競绾у叕寮忓紩閿欓〉~~ 鈫� **璇垽锛屽凡浣滃簾**锛氱湡瀹炲叕寮忔槸姝g‘鐨勮法绨垮紩鐢紝姣嶇増鏃犻渶淇敼锛涘綋鏃剁殑"寮曢敊椤�"鏄帶鍒跺彴涓枃涔辩爜璇銆�
+4. **鏁版嵁缂哄彛锛堝凡鏍稿疄锛屽睘婧愬ご灏辨病鏈夛級**锛�2026-01~06 缃戠害杞﹁鍗曞湪**婧愭枃浠�**銆婃ā鏉縚缃戠害杞﹁鍗曞強鍏ㄧ渷鎬婚噺.xlsx銆嬮噷灏辨槸绌虹殑锛堝彧鏈夊叏鐪� pin銆佹棤璁㈠崟鍒楋級锛�
+ 涓嶆槸瀵煎叆澶辫触鈥斺�擿wyc_order_monthly` 璇� 6 鏈� `order_*` 鍏� NULL 涓庝箣鍚诲悎锛堝鍏ユ壒娆� `WYC_ORDER`锛�09-04锛夈��
+ 褰卞搷闈㈠彧鏈変竴涓細`WycSplitCalc.calc()` 鍥� `orderSum<=0` 绠椾笉鍑虹綉绾﹁溅鎷嗗垎 鈫� 缁村害 4 璇� 6 涓湀鏃犳簮锛堢幇宸茬敱绗� 4 鏉℃敼鍔ㄤ繚鐣欐瘝鐗堝畾绋垮�煎厹浣忥級銆�
+ **寤鸿**锛氱粰缃戠害杞﹁鍗曞鍏ュ姞涓�鏉°�岃鍗曞垪鍏ㄧ┖銆嶇殑鏄惧紡鎻愮ず锛堢幇鍦ㄤ細闈欓粯鎴愬姛锛夛紝骞惰涓氬姟纭杩� 6 涓湀璁㈠崟鏄惁鍙ˉ銆�
5. 搴撳唴 h2031銆屽叏鐪併�嶈 鈮� 危17 甯傚窞锛�1-8 鏈� 27524.49 vs 24481.74锛屽樊 3042.75锛夛細涓氬姟鍙e緞闂锛屽缓璁笟鍔′晶鏍稿銆�
6. 鎶曡祫锛氭ā鏉块噷娌℃湁鐨勬柊椤圭洰涓嶄細鑷姩鎻掕锛涙槑缁嗚〃璧勯噾娓犻亾鍒嗙粍琛屾湭鍏ュ簱锛堥渶鍔� `fund_channel`锛夛紱鍚屽悕涓嶅悓椤圭洰鏈脊绐椼��
7. 鎶曡祫涓ゅ紶鏄庣粏琛紙`X鏈堝杩愮珯鎶曡祫鏄庣粏琛╜ / `X鏈堢墿娴佺珯鍦烘姇璧勬槑缁哷锛夌敓鎴愬櫒鏈仛銆�
@@ -73,12 +109,13 @@
2. 娲剧敓椤碉紙鍩庡競瀹㈣繍 / 涓彛寰勬槑缁� / 鍏矾鎬诲杩� / 涓彛寰勫杩愰噺 / 鎺掑悕锛�**鍙ˉ鍏紡 + 閲嶇畻锛屼笉鍗曠嫭鍐欐暟**锛�
3. 鍙湁姣嶇増閲屾湰灏辨槸纭紪鐮佹暟鍊肩殑琛岋紙涓彛寰勬槑缁嗙殑鍩庡競绾�"鍩庨檯鍩庝埂鍑虹/缃戠害杞�"銆佸叏鐪佽锛夋寜鍥涚淮鍙e緞鍥炲~锛�
4. 鐙珛瀵煎嚭浠讹紙鐢熸垚_涓彛寰勬槑缁� / 鎺掑悕 / 鍏矾鏃呭鍒嗗競宸烇級鏀逛负鐩存帴鍙栨眹鎬昏〃瀵瑰簲椤电殑鍊硷紝鎴栧叡鐢ㄥ悓涓�鍙e緞鍑芥暟锛�
-5. 姣嶇増閲屽紩閿欓〉鐨勫煄甯傜骇鍏紡淇竴娆★紙绗� 3 鏉★級锛�
-6. 鐢熸垚鍚庤窇"鐢熸垚浠� vs 姣嶇増閲嶇畻"閫愭牸鍥炲綊姣斿锛屽樊寮傛竻鍗曡惤鏃ュ織锛屼綔涓洪獙鏀跺熀绾裤��
+5. ~~姣嶇増閲屽紩閿欓〉鐨勫煄甯傜骇鍏紡淇竴娆~ 鈫� **鏃犻渶**锛堣鍒わ紝宸蹭綔搴燂級锛�
+6. 鐢熸垚鍚庤窇"鐢熸垚浠� vs 姣嶇増閲嶇畻"閫愭牸鍥炲綊姣斿锛屽樊寮傛竻鍗曡惤鏃ュ織锛屼綔涓洪獙鏀跺熀绾匡紱
+7. 搴撳唴缂哄け锛堣鏈堣缁存棤婧愶級鏃�**涓�寰嬩繚鐣欐瘝鐗堝畾绋垮�笺�佷笉瑕嗙洊**鈥斺�斿凡鍦ㄧ 4 鏉℃敼鍔ㄤ腑钀藉湴銆�
## 鍥涖�佹槑澶╄鍒�
-1. 绗� 3 姝ユ敹鍙o細鎸変笂闈� 6 鏉¤惤鍦帮紙鍏堜慨姣嶇増寮曢敊椤电殑鍩庡競绾у叕寮� 鈫� 鎺掑悕浠舵敼鍙栧悓婧� 鈫� 寤哄洖褰掓瘮瀵硅剼鏈級銆�
-2. 缃戠害杞� 2026-01~06 璁㈠崟鏁版嵁缂哄彛锛氬悜鐢ㄦ埛纭鏄ˉ鏁拌繕鏄暀绌恒��
-3. 鎶曡祫"鏂板椤圭洰鎻掕 + 鍒嗙粍琛屽叆搴�"鏂规钀藉湴锛堢瓑鐢ㄦ埛瀵�"妯″潡"鍙e緞鐨勬渶鍚庣‘璁わ級銆�
-4. 鎶曡祫涓ゅ紶鏄庣粏琛ㄧ敓鎴愬櫒銆�
+1. 绗� 3 姝ユ敹鍙o細鎺掑悕浠朵笌鏄庣粏浠跺彛寰勫綊涓�锛堝樊鍊� 2063.45 = 2026 骞� 1-6 鏈堢綉绾﹁溅鍩庝埂锛夆啋 鎺掑悕浠舵敼鍙栨眹鎬昏〃鍚屾簮鍊� 鈫� 鍥哄寲"鐢熸垚浠� vs 姣嶇増閲嶇畻"閫愭牸鍥炲綊鑴氭湰銆�
+2. 缃戠害杞﹁鍗曞鍏ョ┖鍒楁彁绀猴紙椤甸潰鏄庣‘鎻愮ず"璇ユ湡璁㈠崟鍒椾负绌猴紝鏈啓鍏ヨ鍗曟暟"锛�+ 鍚戠敤鎴风‘璁� 2026-01~06 鏄惁琛ユ暟銆�
+3. 鎶曡祫"鏂板椤圭洰鎻掕 + 鍒嗙粍琛屽叆搴擄紙`fund_channel`锛�"鏂规钀藉湴锛堢瓑鐢ㄦ埛瀵�"妯″潡"鍙e緞鐨勬渶鍚庣‘璁わ級銆�
+4. 鎶曡祫涓ゅ紶鏄庣粏琛ㄧ敓鎴愬櫒锛坄X鏈堝杩愮珯鎶曡祫鏄庣粏琛╜ / `X鏈堢墿娴佺珯鍦烘姇璧勬槑缁哷锛夈��
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java b/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java
index 16dd5e5..a0a48f7 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java
@@ -2223,15 +2223,10 @@
if (blockOffset % 5 == 0) {
if (isYoy) {
fillMidYoyCell(c, mid, currentYear, monthOfCol(col), area, -1, volume);
- } else if (monthOfCol(col) > 6) {
- // 鎵╁垪鍑烘潵鐨� 7~12 鏈堟�昏鍊煎垪锛氭ā鏉块噷鏈棤姝ゅ垪锛屽厠闅嗗悗鏃㈡病鏈夊叕寮忎篃娌℃湁缂撳瓨鍊硷紝
- // 鐩存帴鍐欏簱鍐呭洓缁村悎璁★紙缁村害0锛夈��1~6 鏈堜繚鐣欐ā鏉跨紦瀛樺�硷紝閬垮厤涓㈡帀妯℃澘閲岀殑瀹氱鏁般��
- double total = midClassVal(mid, currentYear, monthOfCol(col), area, 0, volume);
- c.setBlank();
- if (total != 0.0) c.setCellValue(round(total, 4));
- } else if (c.getCellType() == CellType.FORMULA) {
- keepCached(c); // 1~6 鏈堟�昏鍊煎垪 = 妯℃澘缂撳瓨鍊硷紝淇濈暀
}
+ // 鎬昏鍊煎垪锛氫竴寰嬩繚鐣欐ā鏉垮叕寮忥紙1~6 鏈堝師鍏紡 + 鎵╁垪鍏嬮殕鍑烘潵鐨勫叕寮忥級锛�
+ // 鐢辩敓鎴愭敹灏剧殑 recalcWorkbookFormulas 姹傚�煎啓鍥炵紦瀛樸�傛棭鏈熺増鏈繖閲� keepCached
+ // 浼氭妸鍒氬厠闅嗗嚭鏉ョ殑鍏紡娓呮垚绌烘牸锛屽鑷� 7 鏈堝強浠ュ悗鎬昏姘歌繙绌虹櫧銆�
continue;
}
int k = blockOffset % 5; // 1=鐝嚎 2=鍏氦 3=鍑虹鍩庝埂 4=缃戠害杞﹀煄涔�
@@ -2249,7 +2244,27 @@
int[] recalc = recalcWorkbookFormulas(wb);
log.info("涓彛寰勬槑缁嗗叕寮忛噸绠楀畬鎴愶細鎴愬姛 {} 鏍硷紝澶辫触 {} 鏍�", recalc[0], recalc[1]);
clearFormulaErrorsAll(wb); // 鍘诲勾鍚屾湡鏄庣粏椤垫畫鐣� #REF! 鍚屾瘮鍏紡 鈫� 娓呯┖
+ blankFutureMonthColumns(sheet, fillMonths); // 鎶ヨ〃鏈熶箣鍚庣殑鏈堜唤鍒椾笉淇濈暀鍏嬮殕鍏紡/0 鍊�
return toBytes(wb);
+ }
+ }
+
+ /**
+ * 娓呯┖銆屾姤琛ㄦ湡涔嬪悗銆嶇殑鏈堜唤鍒楋紙鎵╁垪鍏嬮殕鍑烘潵鐨� 7~12 鏈堥噷銆佸皻鏈埌鏈熺殑鏈堜唤锛夈��
+ * 涓嶆竻鐨勮瘽锛屽厠闅嗗嚭鏉ョ殑鎬昏鍏紡浼氱畻鍑� 0锛屾姤琛ㄤ笂浼氬嚭鐜�"9~12 鏈堝叏鏄� 0"鐨勫亣鏁版嵁锛�
+ * 绱鍒楋紙AA锛夌殑鍏紡/缂撳瓨鍊煎凡鍦ㄩ噸绠楅樁娈电畻濂斤紝娓呯┖鏍煎瓙涓嶅奖鍝嶅畠锛堢┖ = 0锛夈��
+ */
+ private void blankFutureMonthColumns(Sheet sheet, int filledMonths) {
+ for (int m = filledMonths + 1; m <= 12; m++) {
+ int col = 2 * m; // 0 鍩猴細1 鏈�=2(C)銆�7 鏈�=14(O)銆�12 鏈�=24(Y)
+ for (int r = 4; r <= sheet.getLastRowNum(); r++) { // 0 鍩虹 4 琛� = 绗� 5 琛岋紙棣栦釜鏁版嵁琛岋級锛岃〃澶翠笉鍔�
+ Row row = sheet.getRow(r);
+ if (row == null) continue;
+ Cell val = row.getCell(col);
+ if (val != null) val.setBlank();
+ Cell yoy = row.getCell(col + 1);
+ if (yoy != null) yoy.setBlank();
+ }
}
}
@@ -2274,12 +2289,19 @@
return (col - 1) / 2;
}
- /** 濉腑鍙e緞鏁版嵁鍗曞厓鏍硷細鐝嚎/鍏氦/鍑虹鍩庝埂/缃戠害杞﹀煄涔� 鍥涚淮缁熶竴鍙栧簱鍐呭�硷紙鏃犲�兼竻绌猴級 */
+ /**
+ * 濉腑鍙e緞鏁版嵁鍗曞厓鏍硷細鐝嚎/鍏氦/鍑虹鍩庝埂/缃戠害杞﹀煄涔� 鍥涚淮缁熶竴鍙栧簱鍐呭�笺��
+ * 搴撳唴璇ユ湀璇ョ淮鏃犳簮锛堝彇鍊间负 0锛夋椂**淇濈暀姣嶇増/妯℃澘鍘熷��**鈥斺�旂粷涓嶅啓绌恒�佷篃涓嶅啓 0銆�
+ * 渚濇嵁锛氭ā鏉跨殑鍩庡競绾у煄涔¤鏄�屽彴璐﹂〉 鎬婚噺 鈭� 鍩庡競鍐呫�嶇殑寮曠敤銆佸苟宸蹭笟鍔″畾绋匡紱
+ * 鐢ㄥ簱鍐呯己澶卞�艰鐩栦細鎶婂畾绋挎暟娓呮帀锛堝 2026-01~06 缃戠害杞﹁鍗曠己澶辨椂锛�
+ * 鍏ㄧ渷缃戠害杞﹀煄涔� 333.39 涓庡悇甯傚窞鍊间細琚竻绌猴級銆�
+ */
private void fillMidCell(Cell c, Map<Integer, Map<String, double[][]>> mid, int year, int month, String area, int k, boolean volume) {
double v = midClassVal(mid, year, month, area, k, volume);
+ if (v == 0.0) return; // 搴撳唴鏃犳簮锛氫繚鐣欐瘝鐗�/瀹氱鍘熷�硷紝缂烘暟鎹笉瑕嗙洊
// POI setCellValue(double) 瀵瑰叕寮忓崟鍏冩牸鍙洿鏂扮紦瀛樹笉绉婚櫎鍏紡锛屽繀椤诲厛 setBlank 鍐嶅啓鍊�
c.setBlank();
- if (v != 0.0) c.setCellValue(round(v, 4));
+ c.setCellValue(round(v, 4));
}
/** 鏄惧紡鍐欏叆 0锛圥OI setCellValue(0.0) 浼氳浆 blank锛岄渶鎿嶄綔搴曞眰 XML锛� */
@@ -3445,6 +3467,14 @@
log.warn("姹囨�诲伐浣滅翱鍏紡閲嶇畻锛氬垱寤烘眰鍊煎櫒澶辫触锛岃烦杩囷紙{}锛�", e.getMessage());
return new int[]{0, 0};
}
+ try {
+ // 璺ㄧ翱鍏紡锛圼1]鍑虹!C13 涔嬬被锛夊湪澶栭儴宸ヤ綔绨跨己澶辨椂榛樿鎶涘紓甯革紝浼氳寮曠敤瀹冪殑
+ // 鎬昏/绱/娲剧敓鍏紡杩為攣澶辫触锛堣〃鐜颁负銆屽叕寮忚繕鍦ㄤ絾娌℃湁缂撳瓨鍊笺�嶏級銆�
+ // 缃� true 鍚庢敼鐢ㄥ叕寮忔牸鑷韩鐨勭紦瀛樺�硷紙鍗冲畾绋垮�硷級鍙備笌璁$畻銆�
+ ev.setIgnoreMissingWorkbooks(true);
+ } catch (Exception ignore) {
+ // 涓埆瀹炵幇涓嶆敮鎸佽寮�鍏筹紝蹇界暐鍗冲彲
+ }
int ok = 0, fail = 0;
java.util.List<String> samples = new java.util.ArrayList<>();
for (int i = 0; i < wb.getNumberOfSheets(); i++) {
--
Gitblit v1.9.1