# 2026-07-10-合同模板表头检测与列宽自适应修复 ### 1. 合同模板表头被替换 + A列列宽未自适应 **旭东 → OpenClaw:** > [文件: 采购合同_广州德盛药业有限公司_20260710_185006_fc01(1).xlsx] > 这是我刚刚测试下载的合同,里面A列的列宽还是没有自适应内容宽度,并且表头全部被替换了,查一下原因 **OpenClaw 响应:** 检查了合同生成代码和模板文件,发现两个问题:1)旧版 `_find_header_and_data_rows` 函数将所有单元格内容拼成一个大字符串后再查关键词,导致第5行章节标题"一、编码、产品名称、包装规格、数量、金额及时间:"被误判为表头行(命中7个关键词),产品数据写入第6行覆盖了真正的表头。2)列宽计算只扫描表格区域(header_row ~ total_row),漏掉了上方合同编号行和章节标题行,导致A列未自适应。已修复:a) 表头检测改为逐单元格独立查关键词,并自动跳过"一、"等章节标题行;b) 列宽扫描改为从第1行开始。同时 gunicorn 未加载最新代码(pyc 缓存早于源码),执行了 restart 使修复生效。 ### 2. 备份与提交 **旭东 → OpenClaw:** > 对现在的内容进行备份和git commit一下 **OpenClaw 响应:** 将当前所有修改(contract.py 合同模板系统重构+表头检测修复+列宽自适应、purchase.py 订单模糊搜索+by_ids接口、app.js 前端合同生成弹窗、标准采购模板替换)提交到 git,commit: aafa6e9,并清理了临时脚本。