市州月报填报口径与统一模板(2026-09-20)
起因:用户提问「他们导入的数据按哪个格式来最好?要不要生成两个模板(客运站一个、物流园一个)?
这几个表的更新其实很简单——按项目名称更新汇总表指定指标、新增项目就新增到明细表,
预安排汇总表和明细表方式一样,剩下三张表项目固定只更新指标——为什么现在弄得有点复杂了?」
一、结论先说
- 你的心智模型是对的,而且就是需求文档《投资月报数据处理与多表更新需求说明》里写的三步:
- Step1 月报 → 两张明细表:以**项目名称**为键,已有→更新 5 列,没有→新增整行;
- Step2 明细表 → 全省预安排计划进度情况汇总:同名更新 4 项,没有的新增,母版有而月报没有的保持原值;
- Step3 明细表 → 三张固定项目表(十五五规划物流 / 亿元投资项目 / 经济强县):项目清单不动,只更新 3 项指标。
- 复杂不在「表」,在「源」。程序侧要处理的麻烦全部来自市州报上来的原始表格格式不统一,不来自汇总规则本身。
- 建议从 9 月起统一用两份模板(客运站场、物流园区各一份)。模板已经做好:
docs/投资/模板/模板_市州月报_客运站场.xlsx
docs/投资/模板/模板_市州月报_物流园区.xlsx
二、两份模板长什么样
只有一个数据页「月报」+ 一个「填报说明」页。第 4 行是表头,一行一条项目,共 17 列:
| 列 |
表头 |
程序里的去向 |
| A |
序号 |
仅用于识别市州小节行/合计行,不参与匹配 |
| B |
县(市、区) |
项目主档 county(全省汇总表要显示这一列) |
| C |
项目名称及站级 |
匹配键(市州 + 类别 + 项目名称) |
| D |
投资建设单位名称 |
主档 builder_name |
| E |
建设性质 |
主档 construct_nature(下拉:新建/续建/改扩建/改建) |
| F |
开工年 |
主档 start_time |
| G |
竣工年 |
主档 end_time |
| H |
计划总投资(万元) |
主档 total_investment |
| I |
自开始建设累计完成投资(万元) |
当期月度数 |
| J |
本年计划投资(万元) |
当期月度数 |
| K |
自年初累计完成投资(万元) |
当期月度数 |
| L |
其中:本月完成投资(万元) |
当期月度数 |
| M |
建设阶段 |
当期月度数 |
| N |
形象进度 |
当期月度数 |
| O |
工可批复文号 |
主档 approval_gk |
| P |
初设/施工图批复文号 |
主档 approval_cs |
| Q |
备注 |
不取数 |
- 主档列(A、B、D、E、F、G、H、O、P):第一次建档时写入,之后只要项目名不变就不动;
- 月度数(I、J、K、L、M、N):每个月报多少写多少,同一(项目,报表期)覆盖式重建;
- 「项目名称及站级」是唯一匹配键:改一个字 = 新建一个项目,所以要求与批复名称一字不差;
- 「填报说明」页写了 11 条要求(一份文件只放本市州、文件名带市州名、数值不带字符、
县(市、区)必填、建设性质只能四选一、新增项目直接加行、隐藏行不放数据、合计行可不填等)。
三、为什么现在感觉复杂(4 个真实原因,都在输入侧)
- 版式不统一:27 份市州月报里,20 份与省统一模板一致,7 份有差异——
随州多一个 Sheet2、神农架/潜江/襄阳拆成多个分月页签、襄阳整体右移 1 列、
恩施/黄石合并表头、武汉(南山/汉口)只报两个项目的简表。详见
docs/投资/输出/市州月报格式差异报告_2026-07.md。程序为了读全,只能一个版式一个兜底分支。
- 一个文件里混多个市州:《湖北省十堰交通物流基础设施投资统计汇总表(月报)》一个页签收了全省,
2026 年 8 月这份 38 行里只有 7 行是十堰,另外 27 行武汉 + 4 行黄石。
程序支持按「小节行」切换市州(这是有意做的功能),所以能读进来,但代价是:
只要重导 8 月物流,这 31 个项目就会重新建到武汉/黄石名下(今天做回归重导时复现,已再次清除,见测试报告 P3)。
- 项目清单有两个来源:一是市州当月报上来的,二是母版/库里已经有的(如预安排母版里的武汉物流行)。
于是产生「有总投资、没有本期月度数」的项目,要不要补进小计/合计就成了要单独决策的事。
- 列位置靠兜底:早期实现按「自年初累计 = 自开始建设累计 + 2 列」这类列序推算,
市州一挪列就得再加一条兜底——这是「猜」出来的复杂度,不是业务复杂度。
四、换成统一模板后,还要定死 3 件事
模板解决的是「怎么读」。下面 3 件事定下来,整条链就没有歧义了:
| # |
待定事项 |
建议 |
| 1 |
年度项目清单以谁为准?库里有什么就出什么,还是以「年度预安排计划表」为准? |
以年度预安排计划表为准(随母版下发或单独建一张《年度预安排计划》表),每月只更新指标 |
| 2 |
某市州当月**没报**怎么办? |
该市州指标留空 + 导出前弹窗列出「未报送市州」,不阻断导出 |
| 3 |
市州**新增**的项目插到哪? |
插到该市州「预安排计划内」小节末尾;计划外的单独标注,导向上仍出但明显区别于计划内 |
五、过渡安排与下一步
- 8 月及以前:已按旧格式导入完毕,程序继续兼容旧版式,**不改、不重导**(8 月十堰源文件清理另行确认)。
- 9 月起:市州按统一模板填报;建议再加一个「模板体检」——导入时校验表头是否为本模板 17 列,
是则走「按表头取数」的直路,不是则**弹窗提示**(哪一列对不上),而不是继续猜列位置。
- 这样解析逻辑可以退化成「按表头名取值」,现有那些容错兜底分支可以逐步下线,复杂度自然就降下来了。