编辑 | blame | 历史 | 原始文档

市州月报填报口径与统一模板(2026-09-20)

起因:用户提问「他们导入的数据按哪个格式来最好?要不要生成两个模板(客运站一个、物流园一个)?
这几个表的更新其实很简单——按项目名称更新汇总表指定指标、新增项目就新增到明细表,
预安排汇总表和明细表方式一样,剩下三张表项目固定只更新指标——为什么现在弄得有点复杂了?」

一、结论先说

  1. 你的心智模型是对的,而且就是需求文档《投资月报数据处理与多表更新需求说明》里写的三步:
  • Step1 月报 → 两张明细表:以**项目名称**为键,已有→更新 5 列,没有→新增整行;
  • Step2 明细表 → 全省预安排计划进度情况汇总:同名更新 4 项,没有的新增,母版有而月报没有的保持原值;
  • Step3 明细表 → 三张固定项目表(十五五规划物流 / 亿元投资项目 / 经济强县):项目清单不动,只更新 3 项指标。
  1. 复杂不在「表」,在「源」。程序侧要处理的麻烦全部来自市州报上来的原始表格格式不统一,不来自汇总规则本身。
  2. 建议从 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 个真实原因,都在输入侧)

  1. 版式不统一:27 份市州月报里,20 份与省统一模板一致,7 份有差异——
    随州多一个 Sheet2、神农架/潜江/襄阳拆成多个分月页签、襄阳整体右移 1 列、
    恩施/黄石合并表头、武汉(南山/汉口)只报两个项目的简表。详见
    docs/投资/输出/市州月报格式差异报告_2026-07.md。程序为了读全,只能一个版式一个兜底分支。
  2. 一个文件里混多个市州:《湖北省十堰交通物流基础设施投资统计汇总表(月报)》一个页签收了全省,
    2026 年 8 月这份 38 行里只有 7 行是十堰,另外 27 行武汉 + 4 行黄石。
    程序支持按「小节行」切换市州(这是有意做的功能),所以能读进来,但代价是:
    只要重导 8 月物流,这 31 个项目就会重新建到武汉/黄石名下(今天做回归重导时复现,已再次清除,见测试报告 P3)。
  3. 项目清单有两个来源:一是市州当月报上来的,二是母版/库里已经有的(如预安排母版里的武汉物流行)。
    于是产生「有总投资、没有本期月度数」的项目,要不要补进小计/合计就成了要单独决策的事。
  4. 列位置靠兜底:早期实现按「自年初累计 = 自开始建设累计 + 2 列」这类列序推算,
    市州一挪列就得再加一条兜底——这是「猜」出来的复杂度,不是业务复杂度。

四、换成统一模板后,还要定死 3 件事

模板解决的是「怎么读」。下面 3 件事定下来,整条链就没有歧义了:

# 待定事项 建议
1 年度项目清单以谁为准?库里有什么就出什么,还是以「年度预安排计划表」为准? 以年度预安排计划表为准(随母版下发或单独建一张《年度预安排计划》表),每月只更新指标
2 某市州当月**没报**怎么办? 该市州指标留空 + 导出前弹窗列出「未报送市州」,不阻断导出
3 市州**新增**的项目插到哪? 插到该市州「预安排计划内」小节末尾;计划外的单独标注,导向上仍出但明显区别于计划内

五、过渡安排与下一步

  • 8 月及以前:已按旧格式导入完毕,程序继续兼容旧版式,**不改、不重导**(8 月十堰源文件清理另行确认)。
  • 9 月起:市州按统一模板填报;建议再加一个「模板体检」——导入时校验表头是否为本模板 17 列,
    是则走「按表头取数」的直路,不是则**弹窗提示**(哪一列对不上),而不是继续猜列位置。
  • 这样解析逻辑可以退化成「按表头名取值」,现有那些容错兜底分支可以逐步下线,复杂度自然就降下来了。