一、应用场景
云表平台现有功能已经支持批量导入数据:
l 批量导入总表数据(不含明细):https://docs.iyunbiao.com/home/table/10
l 批量导入明细(中间表方案):https://docs.iyunbiao.com/skill/4
但旧方案需要通过中间表实现明细数据写入,相对来说会比较麻烦,数据项有所修改时,中间表也要修改才能使用批量导入,需要导入的明细表越多,需要的中间表就越多,不利于深入开发和使用。
为了让批量导入明细的操作变得更便捷,我们在总表批量导入的基础上,实现了明细表的数据导入。
二、案例设定
以模板“商品信息”为例,每个商品都有多个SKU需要管理,我们需要把Excel中的SKU数据导入,并且同一产品的多个SKU要正确的导入在该产品的表单下。
假设“商品信息”模板设计如下:
关键点1:主表必须有主键,主键用于关联明细数据和主表数据的关系,所以必须

商品表样式

主表数据项(必须设置主键)

明细表数据项
三、具体操作步骤
1.打开总表“批量导入”功能
进入模板设计界面,填表公式选择“总表”页签,找到“批量导入”按钮,把“隐藏”属性取消,保存设置即可。

打开总表批量导入功能
2.准备Excel表数据
在Excel中需要把主表信息和明细信息“打平”写在同一数据行中,有多少行明细,就有多少数据行。
例如商品A01(主键)包含2个SKU,分别是A01a与A01s,则需要有2个数据行,如下:
商品ID(主键) | SKU.SkuId | SKU.名称 | SKU.属性 | SKU.售价 |
A01 | A01a | a款 | 红色 | 999 |
A01 | A01s | s款 | 蓝色 | 1999 |
在本案例中,需要准备的数据如下图:

待导入的Excel表格数据
3.导入明细数据
(1)总表打开“批量导入”窗口,勾选“同时导入明细表”。

选择同时导入明细
(2)选择需要导入的明细表。
每次只能对一个明细表进行操作,如果有多个明细表需要导入或明细表有新增数据要导入,具体方案详见本文档最后的“注意事项”部分。

选择要导入的目标明细表

明细表数据项自动加载到表头

每次只能导入1个明细表
(3)填充待导入的数据
填充数据有2种方法,手动填入数据 或 导入Excel表格,此处以导入Excel表格为例。
①数据项匹配
选择需要导入的Excel表格后,需要调整导入数据的位置,务必仔细检查Excel表格和模板数据项的对应关系。
【小技巧】Excel表格的字段名称可以提前处理一下,在字段名前增加“明细表名称.”作为前缀,在导入的时候就能快速匹配(仅支持精准匹配),如下图。

数据项匹配小技巧(提前处理Excel表格字段名)
②开始导入数据
仔细检查数据项关系,确认无误后,点击保存即开始执行导入。

数据项匹配小技巧(提前处理Excel表格字段名)
四、注意事项
1.明细表有新增数据需要批量导入,怎么操作?
例如本文档案例中,要对A01商品增加SKU(A01d),可以对同一明细表进行多次导入,注意以下事项:
(1)导入数据中必须有主键数据项,非主键数据项可要可不要(建议不要,避免重复执行填表公式或业务公式)
商品ID(主键) | SKU.SkuId | SKU.名称 | SKU.属性 | SKU.售价 |
A01 | A01d | d款 | 绿色 | 99 |
(2)批量导入新增数据时必须注意,把主键冲突的处理方式改为“跳过”,避免把未配置的数据置空。

2.我有多个明细表都需要导入,怎么操作?
操作步骤和上述场景一样,要注意重复记录的处理方式为“跳过”。
五、常见问题和解决方案
1.同一主表的明细没有导入同一个表单中
检查主键数据是否正确。
2.多行明细只导入了1行
检查表单逻辑,数据行之间有逻辑冲突
3.导入成功后有些数据项被置空了
检查重复记录的处理方式,可能是选了“覆盖”导致的。