ARTICLE · 982697
ArcGIS Pro按Excel批量同步字段工具 说明书
按Excel批量同步字段工具 说明书
按Excel批量同步字段工具/Batch Sync Fields by Excel
1工具概述/Overview
本工具读取 Excel 字段定义表,对【一个或多个】输入表/要素类批量添加或同步字段。核心规则:Excel 中缺失的字段→新增;已有且类型、长度一致→不修改;不一致→原字段名加“1”新建字段,并把原字段的值复制到新字段。
【强调】 工具名称:SyncFieldsByExcel_bth(工具箱别名 bth) 安装位置:MyProject6\bth.atbx典型用途:按《添加字段(批量)layer.xlsx》批量给 ghyd 等地块图层补全字段结构。 |
2参数说明/Parameters
# | 参数 | 类型 | 必填 | 说明 |
1 | 输入表视图 | 表视图(多值) | 是 | 需要同步字段的表/要素类,支持按住 Ctrl 多选多个 |
2 | Excel表格 | 文件 | 是 | 字段定义 Excel 文件(自动定位含“字段名称”的表头行,支持 .xlsx/.xls) |
Excel 字段定义表格式
Excel 中需包含“字段名称、字段别名、字段类型、字段长度”四列,工具自动查找含“字段名称”表头的行并从下一行开始读取:
字段名称 | 字段别名 | 字段类型 | 字段长度 |
DKBH | 地块编号 | TEXT | 30 |
YDMJ | 用地面积 | DOUBLE | |
CZCLX | 城镇村类型 | TEXT | 10 |
3同步规则/Sync Rules
情形 | 处理方式 | 示例 |
Excel 有、目标表无 | 新增该字段 | ghyd 无 DKBH → 新建 DKBH(TEXT/30) |
已有且类型+长度一致 | 不修改 | YDBM(TEXT/30) 一致 → 保持原样 |
已有但类型或长度不一致 | 原字段名+1 新建,并复制原值 | CZCLX(254)≠(10) → 新建 CZCLX1 并复制 CZCLX 的值 |
【建议】 重复运行安全(幂等):若 CZCLX1 已存在,工具不会再报“字段已存在”,而是直接复制最新值,可放心反复执行。 |
4使用方法/Usage
4.1在 ArcGIS Pro 界面使用
•在【目录】窗格右键“工具箱”→“添加工具箱”,选择 bth.atbx;
•双击“按Excel批量同步字段”,输入表视图处按住 Ctrl 多选要处理的表;
•选择 Excel 字段定义表,点击【运行】;
•工具消息窗会逐表输出“一致跳过 / 新增 / 冲突新建”清单,便于核对。
4.2使用 arcpy 调用
arcpy.ImportToolbox(r"C:\Users\yl\Documents\ArcGIS\Projects\MyProject6\bth.atbx")arcpy.SyncFieldsByExcel_bth("表1;表2;表3", r"...\layer.xlsx")
5注意事项/Notes
【警告】 输入表若正在 ArcGIS Pro 中打开编辑,可能提示“无法获取方案锁”(ERROR 000464),请先关闭相关工程或移除该图层。 |
【信息】 Shapefile 字段名上限 10 个字符:若原字段名+1 超过 10 字符,工具会跳过该冲突字段并给出警告(如 hzlmj_tqkc1 超出限制)。 |
【建议】 建议运行前备份原始数据;本工具仅新增字段并复制值,不删除、不修改任何原有字段。 |
文档版本:V1.0生成日期:2026-08-28适用环境:ArcGIS Pro 3.6
后台回复:编号工具,获得下载地址
模板类似:
