导入导出
3 个示例覆盖导入导出的完整策略面:基础单表的表头匹配与逐行错误报告、主子表导入的相邻合并与摊平导出、按业务键覆盖导入的三种重复策略与一次性预览令牌。
功能在哪
- 菜单路径:基础设施 → 在线示例 → 「导入导出示例1–3」
- 入口位置:列表工具栏 导入 / 导出 按钮(本组三个示例按钮最全)
导入导出示例1-基础单表
表头按名字匹配、字典标签反查、单元格取值、逐行错误报告、导出三种值模式。

- 导入流程:点导入 → 下载模板 → 填数据上传 → 预览校验(逐行报告错误:行号 + 列 + 原因)→ 确认入库;错行可改表后重传;
- 表头按名字匹配:列顺序无关、认表头文字;模板表头改名即失配;
- 字典标签反查:表里填「男 / 女」等标签,入库反查为字典值;标签写错按行报错;
- 导出三种值模式:标签值 / 原始值 / 两者兼有,按用途选(给人看选标签、给系统对接选原始值)。
导入导出示例2-主子表导入
明细行按主记录相邻合并;父键必须有序;导出把明细摊平或分 sheet。
- 文件形态:主记录占一行、其明细紧跟若干行(同父键相邻);父键乱序或同父键不相邻 → 预览报错;
- 导出二选一:摊平(一行一明细、主表列重复)或分 sheet(主表 / 明细各一张);
- 操作建议:先导出一次摊平文件看结构,再改几行回传体验导入。
导入导出示例3-按业务键覆盖导入
按供应商编码 upsert;三种重复策略;文件内自重复识别;预览令牌只能用一次。
- 三种重复策略:跳过已存在 / 覆盖已存在 / 报错中断——同一份文件选不同策略结果完全不同,预览页先看清再确认;
- 文件内自重复:同一编码在文件里出现两次,预览即标出,不等到入库撞车;
- 预览令牌:上传后生成的预览结果凭令牌确认入库,令牌一次性——确认页刷新或回退后需重新上传,防止「预览一份、入库另一份」。
覆盖导入不可回滚
upsert 的覆盖写会改掉库内现值;导入前用导出留底,或先选「报错中断」试跑一遍。
视角对照
| 视角 | 差异 |
|---|---|
| 租户管理员 | 导入 / 导出全可用(截图视角) |
| 无导出权限角色 | 导出按钮不显示;导入同理按权限位控制 |
进阶
- 错误报告是逐行的:预览页错误带行号与列名,可对照原表直接改;一次修完再传比边传边猜快。
- 值模式决定对接成败:系统间交换用原始值模式导出、导入模板也按原始值填;标签模式只给人看。
- 主子表文件的两个硬约束:父键有序 + 同父相邻。生成文件时用排序保证,别靠手工排。
- upsert 前先试跑:选「报错中断」跑一遍看冲突清单,再切「覆盖」正式导入——把不可逆操作变成两步可逆。
常见问题
导入预览全对但入库后数据不对? 检查字典标签反查与值模式:标签写成了原始值(或反之)会按行报错或入错值;预览页逐行核对过即不会发生。
主子表导入报「父键无序」? 同父明细行被其他主记录插队或父键未排序;按父键重排文件再传。
预览页关掉后确认按钮失效? 预览令牌一次性(示例3):重新上传获取新令牌。
导出文件和界面列不一致? 导出按设计的导出列配置出文件,与个人列设置无关;要改导出列去设计器配置。
模板表头能改吗? 不能。表头按名字匹配,改名即失配;需要中文别名时在设计的导入配置里加别名映射。
