docs/Ͷ×Ê/Êä³ö/ÊÐÖÝÔ±¨¸ñʽ²îÒ챨¸æ_2026-07.md
@@ -66,7 +66,7 @@
| å®œæ˜Œ | æ¹–北省宜昌市道路客运站场投资报表(月、年报)07月.xls | å®¢è¿ç«™æœˆæŠ¥ | 4—5 | 7—13 | âœ… æ ‡å‡† | è¡¨å¤´ä»… 2 è¡Œï¼›å·¥å¯åœ¨ Q、初设在 R |
| è†é—¨ | è†é—¨å¸‚客运站场投资统计7月.xls.xls | è¡¨1 | 4—9 | 11—13 | âœ… æ ‡å‡† | **双扩展名 `.xls.xls`** |
| åå ° | åå °å¸‚2026å¹´7月固定资产月报电子版投资表格.xlsx | Sheet1 | 4—8 | 12—15 | âœ… æ ‡å‡† | F åˆ—表头写作「建成时间」;4 ä¸ªé¡¹ç›®è¡Œä¸­æœ‰ 2 è¡Œ**没有序号**(竹山高速客运站、竹山客运中心站);**Sheet1 ç¬¬ 5 è¡Œè¢«éšè—ï¼Œä½† 18 åˆ—全空,不影响取数** |
| è¥„阳 | è¥„阳市道路运输服务中心2026å¹´6月投资 (1).et | 2026å¹´7月 | 4—6、9 | 12—18 | âš ï¸ **右移 1 åˆ—(不处理)** | **WPS `.et` æ ¼å¼**;文件名写「6月」但内容是 7 æœˆï¼›å·¥ä½œç°¿å†…有 2026å¹´1月—2026å¹´7月 å…± 7 å¼ åˆ†æœˆè¡¨ï¼Œå¿…须按工作表选月;**D åˆ—多出「建设规模(站级和项目类型)」**,导致 å»ºè®¾æ€§è´¨=E、开工=F、竣工=G、总投资=H、自开始建设累计=**I**、本年计划=**J**、自年初累计=**K**、本月完成=**L**、建设阶段=**M**、形象进度=**N**;**【2026-09-17 ç”¨æˆ·å£å¾„】列位右移不做特殊处理:程序按表头文字定位列,只取本次要更新的字段** |
| è¥„阳 | è¥„阳市道路运输服务中心2026å¹´6月投资 (1).et | 2026å¹´7月 | 4—6、9 | 12—18 | âš ï¸ **右移 1 åˆ—(不处理)** | **WPS `.et` æ ¼å¼**(实为 OLE2/BIFF8 å¤åˆæ–‡æ¡£ï¼Œ`xlrd` å¯ç›´æŽ¥è¯»ï¼Œ**无需 Excel COM**;已实测 7 å¼ åˆ†æœˆè¡¨å…¨éƒ¨å¯è¯»ï¼‰ï¼›æ–‡ä»¶åå†™ã€Œ6月」但内容是 7 æœˆï¼›å·¥ä½œç°¿å†…有 2026å¹´1月—2026å¹´7月 å…± 7 å¼ åˆ†æœˆè¡¨ï¼Œå¿…须按工作表选月;**D åˆ—多出「建设规模(站级和项目类型)」**,导致 å»ºè®¾æ€§è´¨=E、开工=F、竣工=G、总投资=H、自开始建设累计=**I**、本年计划=**J**、自年初累计=**K**、本月完成=**L**、建设阶段=**M**、形象进度=**N**;**【2026-09-17 ç”¨æˆ·å£å¾„】列位右移不做特殊处理:程序按表头文字定位列,只取本次要更新的字段** |
### 3.2 ç‰©æµï¼ˆ17 ä¸ªæ–‡ä»¶ï¼‰
@@ -103,7 +103,7 @@
| --- | --- | --- | --- |
| H1 | åå °ç‰©æµ | ç¬¬ 11—63 è¡Œæ˜¯**隐藏行**,内容是「武汉」历史区块(2013—2016 å¹´é¡¹ç›® + å°è®¡/合计)——**不是**同一个可见区块里混排;Excel æ‰“开看不见,程序读单元格读得到 | ä»¥ã€Œé¦– 5 åˆ—里只有一个单元格是市州名、同行其余为空」的行作为**分段标志**,只取本市州段;解析后做**分段校验**(项目数、合计值与该段「小计/合计」行比对),不一致即弹窗。已实现:探测结果由 38 è¡Œä¿®æ­£ä¸º 7 è¡Œ |
| H2 | æ½œæ±Ÿ / æž—区 | æ½œæ±Ÿ 26/27 å¼ è¡¨ã€æž—区 26/45 å¼ è¡¨è¢«**隐藏**;可见表名与实际月份不符(潜江可见表名 `潜江传化2022.3`,实为 2026 å¹´ 7 æœˆæ•°æ®ï¼‰ | æŒ‰**表头区日期**(如 2026.07.22 / 2026.07.24)判定月份并选表;**"隐藏/可见"不作为判定依据**;找不到当期表即弹窗报「未找到 X æœˆæ•°æ®è¡¨ã€ |
| H3 | è¥„阳客运 | `.et` æ ¼å¼ + åˆ—位整体右移 1 åˆ— + æ–‡ä»¶åæœˆä»½ä¸Žå®žé™…不符 | ç”¨ Excel COM æ‰“å¼€ .et;按**表头文字定位列**(不写死列号)后按名称取值;用工作表内日期核对月份。**【2026-09-17 ç”¨æˆ·å£å¾„】不做特殊处理,只取本次要更新的字段** |
| H3 | è¥„阳客运 | `.et` æ ¼å¼ + åˆ—位整体右移 1 åˆ— + æ–‡ä»¶åæœˆä»½ä¸Žå®žé™…不符 | **`.et` å®žä¸º OLE2/BIFF8,`xlrd` ç›´æŽ¥è¯»å³å¯**(无需 COM);按**表头文字定位列**(不写死列号)后按名称取值;用工作表内日期核对月份。**【2026-09-17 ç”¨æˆ·å£å¾„】不做特殊处理,只取本次要更新的字段** |
| H4 | æœ¬é¡¹ç›®æ‰€æœ‰æºæ–‡ä»¶ | æ•°æ®åŒºæŠŠã€Œå¸‚州行 / åˆ†ç±»è¡Œï¼ˆä¸€ã€äºŒã€ä¸‰ã€å››ï¼‰/ å°è®¡è¡Œ / åˆè®¡è¡Œ / ç©ºè¡Œã€å’Œé¡¹ç›®è¡Œæ··æŽ’ | ç»Ÿä¸€çš„「项目行判定」规则:A åˆ—为整数序号(或随州式无序号)+ B(或 A)列项目名称非空 + åç§°ä¸å«ã€Œå°è®¡/合计/一、/二、/三、/四、」;同时把 å¸‚州行、小计行 æ”¶é›†ä¸º**校验用对照组** |
| H5 | æœ¬é¡¹ç›®æ‰€æœ‰æºæ–‡ä»¶ | ã€Œéšè—ã€ä¸ç­‰äºŽã€Œä¸æ˜¯æ•°æ®ã€ï¼ˆé»„石物流隐藏行 R10 æ˜¯çœŸå®žé¡¹ç›®è¡Œï¼Œä¸”已计入市州合计);反之「可见」也不等于「是本期数据」(潜江/林区/林区的可见表名与实际月份不符) | **禁止把"隐藏行 / éšè—å·¥ä½œè¡¨"当作过滤条件**。取数判定只用三条:① è¡¨å¤´æ—¥æœŸé€‰è¡¨ï¼›â‘¡ å¸‚州行切段;③ é¡¹ç›®è¡Œåˆ¤å®šï¼ˆåºå·/名称/数值锚点)|
@@ -132,7 +132,7 @@
2. **月份不要靠文件名/工作表名**:优先用表头区日期格判定;判不出来再用文件名中的 6 ä½ `YYYYMM`;再判不出来才用「含数据的最后一张表」并且**必须弹窗确认**。
3. **分段解析**:把工作表按「市州行 / åˆ†ç±»è¡Œ / å°è®¡è¡Œ / åˆè®¡è¡Œã€åˆ‡æˆæ®µï¼Œåªå–目标市州段的项目行;用「小计/合计」行与项目行求和做**内部一致性校验**(不一致 â†’ å¼¹çª— + è®°æ—¥å¿—)。
4. **市州清单对账**:程序内置 17 å¸‚州清单,对缺失文件、缺失数据表逐个提示(本次客运缺 7 ä¸ªå¸‚州文件)。
5. **读文件优先 Excel COM**(`.et` åªèƒ½ COM/WPS è¯»ï¼›`.xls` ç”¨ COM ä¹Ÿèƒ½æ‹¿åˆ°å…¬å¼ç»“果),xlrd/openpyxl ä»…用于**格式探测**这类只读场景。
5. **读文件**:`.xls` ä¸Ž `.et` éƒ½ç”¨ **xlrd** ç›´è¯»ï¼ˆå®žæµ‹ `.et` æ˜¯ WPS å­˜æˆçš„ OLE2/BIFF8 å¤åˆæ–‡æ¡£ï¼Œmagic ä¸º `D0CF11E0`,xlrd å¯æ­£å¸¸æ‰“开并列举工作表);`.xlsx` ç”¨ openpyxl。**不必为了读 `.et` ä¸“门起 Excel COM**(COM åªåœ¨å¿…须取「公式计算结果」或读 `.xls` æ ·å¼æ—¶æ‰ç”¨ï¼‰ã€‚
6. **不要用「隐藏行 / éšè—å·¥ä½œè¡¨ã€åšè¿‡æ»¤**:黄石物流的隐藏行 R10 æ˜¯çœŸå®žé¡¹ç›®è¡Œï¼ˆé˜³æ–°åŽ¿ç„¦å±±ç‰©æµä»“å‚¨ä¸­å¿ƒï¼Œå·²è®¡å…¥é»„çŸ³å¸‚å·žåˆè®¡ï¼‰ï¼›æ½œæ±Ÿ/林区的可见表名反而是历史表名。判定只用「表头日期选表 + å¸‚州行切段 + é¡¹ç›®è¡Œåˆ¤å®šã€ä¸‰æ¡ã€‚
---
@@ -164,6 +164,7 @@
| 4 | æ©æ–½ / é»„石物流"建设阶段与形象进度未分列" | ç”¨æˆ·ï¼šå·²åˆ†åˆ—,只是表头没写;且**不更新建设阶段列** â†’ é—®é¢˜å…³é—­ |
| 5 | é»„石物流"8 ä¸ªé¡¹ç›®è¡Œä¸­æœ‰ 1 è¡Œæ²¡æœ‰åºå·ï¼ˆé‡‘山口物流园项目)" | è¯¥è¡Œæ˜¯**隐藏行** R10,正确名称为**阳新县焦山物流仓储中心**,且**必须取**(已计入黄石市州合计) |
| 6 | æ ¼å¼æŽ¢æµ‹è„šæœ¬æœªåšå¸‚å·žåˆ†æ®µ | å·²åŠ å…¥**市州分段**(`CITIES` + `city_segments()`):十堰物流由 38 ä¸ªé¡¹ç›®è¡Œä¿®æ­£ä¸º **7 è¡Œ**;复跑确认其余 26 ä¸ªæ–‡ä»¶ç»“果不变 |
| 7 | æŠŠ `.et` å½“成「xlrd/openpyxl éƒ½è¯»ä¸äº†ï¼Œå¿…é¡» Excel COM」 | å®žæµ‹ `.et` å¤´éƒ¨ä¸º `D0CF11E0`(OLE2 å¤åˆæ–‡æ¡£ / BIFF8),**`xlrd` å¯ä»¥ç›´æŽ¥è¯»**:襄阳客运 `.et` çš„ 7 å¼ åˆ†æœˆè¡¨ï¼ˆ2026å¹´1月—2026å¹´7月)全部可正常读取;隐藏项探测已将 27/27 ä¸ªæºæ–‡ä»¶å…¨è¦†ç›– |
另外,隐藏项完整清单(哪个文件、哪张表、哪几行、隐藏内容是什么、怎么自己取消隐藏验证)见 `docs\投资\输出\隐藏数据核实清单_2026-07.md`。