导入BOM等层级数据

1. 简介

1.1 功能简介

本文以导入三级 BOM 为例,介绍如何在导入过程中自动构建数据间的层级关系,实现层级数据的导入。例如:

  • BOM(物料清单)表导入
  • 主任务、子任务数据导入
  • 其他具有父子关系的数据等

1.2 设计思路

首先来了解层级关系的构建方式。基于 关联数据,在导入第 N+1 层数据时,通过特定字段值,匹配到&把当前数据关联到第 N 层数据上。所以第 N 层数据必须先存在,导入时才能关联,否则关联/创建层级失败。

因此,需要先将数据分层,并确保数据中包含了用于匹配的必要信息,再由上至下地导入数据。以 BOM 为例:

  • 顶层 BOM:无上级,仅需包含自己的 BOM 编码(唯一标识);
  • 剩余下级 BOM:需含包含自己的 BOM 编码(唯一标识),上级 BOM 编码(用于匹配&关联上级 BOM)。

具体操作流程如下:

实现步骤

说明

1. 数据预处理

本文提供了插件,可以自动从用户数据中拆分出每一层数据,且数据符合上述要求,可直接用于导入。在此之前,用户需要将自己的数据处理成可以被插件处理的格式。

2. 拆分层级

通过插件将每层物料拆分到单独的 Excel 文件中,便于后续导入。

3. 顺序导入数据

先导入第 N 级数据,继而导入第 N+1 级数据,方可建立 N 和 N+1 层间的层级关联。即:

  • 导入第 1 层数据
  • 导入第 2 层,导入时构建与第 1 层的关联;
  • 导入第 3 层,导入时构建与第 2 层的关联;
  • 重复上述操作,直至导入所有层级的数据,导入结束。

1.3 预期效果

以导入三级 BOM 数据为例, 层级构建效果如下所示:

2. 表单准备

注:点击安装模板 BOM导入,获取示例表单。

准备一张要导入数据的表单,需确保表单中已添加了 关联数据 字段,并且选择的主表为「当前表单」,才可在导入时利用关联数据构建层级关系。

以 BOM 表为例,除 BOM 编码、关联数据字段「关联上级BOM」外,还可按需添加产品名称、子件项数(用于量化物料组成关系)等业务字段。如下图所示:

3. 插件安装

点击获取 Excel层级导入插件 安装包,并对下载得到的压缩包进行解压,得到如下文件夹:

注:请将文件解压到合适的位置,插件安装后,该文件夹不可删除或移动其中的文件也不可删除或修改

3.1 谷歌浏览器

1)打开谷歌浏览器,可以通过以下两种方式进入「扩展程序」管理页面:

  • 在网址栏中输入并访问chrome://extensions/

  • 点击页面右上角的「自定义及控制 >> 设置」进入设置页面后,切换到「扩展程序」处:

2)进入「扩展程序」管理页面后,在页面右上角打开「开发者模式」,点击左上角的「加载未打包的扩展程序」按钮,选择刚才解压得到的插件文件夹,进入到文件夹后,再点击「选择」。

3)安装后,可以在插件列表中找到「Excel 层级导入助手」插件,点击即可打开使用:

3.2 Microsoft Edge浏览器

1)打开 Microsoft Edge 浏览器,可以通过以下两种方式进入「扩展」页面:

  • 在网址栏中输入并访问edge://extensions/
  • 从页面右上角的进入「扩展」页面

2)进入「扩展程序」管理页面后,在页面右上角打开「开发者模式」,点击左上角的「加载未打包的扩展程序」按钮,选择刚才解压得到的插件文件夹,进入到文件夹后,再点击「选择文件夹」。

3)安装后,可以在扩展列表中找到「Excel 层级导入助手」插件,点击即可打开使用:

4. 数据准备

用户需先将原始数据整理为插件可处理的格式,再借助插件进行自动拆分即可。具体如下:

4.1 预处理数据

插件可拆分以下 2 种格式的数据,用户可根据实际情况,将自己的数据处理成其中任意一种形式。

数据格式

说明

有层级编号

每条数据都要包含层级编号(如 1.1、1.2.3),用于标识其在 BOM 结构中的位置。支持根据业务需要添加统一前缀(如 A-1.1),但连接符必须为.或-

有父项编号

除顶层数据(其上级编号为空)外,每条数据中都要包含当前编号(唯一标识数据)和其直属上级的编号。也就是下图所示的子项和父项产品编码:

注:数据中的子项编号列不可重复。

4.2 拆分数据

4.2.1 上传数据

打开插件,点击或拖拽上传整理好的文件,确定无误后点击「上传完成」,确定后将不可对文件列表再进行修改。

注:

1)支持上传 .xlsx、.xls、.csv 格式的文件。

2)支持上传多个文件,但需确保表头一致。

3)仅支持读取上传 Excel 的第一个工作表(sheet),如有多个 sheet 请拆成多个文件上传。

4)上传完成后,如需重新上传文件/开始新的拆分任务,点击右上角的「清除」按钮即可。

4.2.2 选择拆分方式

根据数据格式,选择对应的拆分方式。

4.2.2.1 按层级编号拆分

1)适合于包含 1.1、1.2.3 等层级编号的数据。选择该方式后,需要进行如下字段设置:

字段设置

说明

父项编号列

若数据同时包含父项编号,可指定该列(非必填)。

层级编号列

选择包含 1.1、1.2.1 等层级编号的字段列。

产品名称列

仅用于数据预览,如果不存在可不填或任意选择一个替代字段(最好能唯一标识每一条数据)。

表头行数

根据 Excel 表头实际行数进行选择。

忽略层级编号前缀

若编号含固定前缀(如 A-1.1),填写前缀部分(如 A-)。

2)以下述数据为例,「BOM编码」字段列中标识了物料层级信息,可以看出共有 3 级物料,且数据中无父项编号,则字段设置如下:

  • 父项编号列:选择「无」,插件会自动新增 1 列「父项编号」,用于后续导入;
  • 层级编号列:选择「BOM编码」字段,该字段列中包含了层级信息;
  • 产品名称列:选择「产品名称」字段;
  • 表头行数:表头占了 1 行,选择「1行」;
  • 忽略层级编号前缀:填写「BOM-」

点击下载示例数据:BOM层级编号关联.xlsx

拆分得到的各层数据如下,符合本文 1.2 节的数据要求(除顶层外,均包含当前和父级编号),可直接用于导入。

4.2.2.2 按父项编号拆分

1)适合于包含「上级编码」和「当前编码」的数据。选择该方式后,需要进行如下字段设置:

字段设置

说明

父项编号列

选择包含上级编码的列。

子项编号列

选择包含当前物料编码的列。

产品名称列

仅用于数据预览,如果不存在可不填或任意选择一个替代字段(最好能唯一标识每一条数据)。

表头行数

根据 Excel 表头实际行数进行选择。

2)以下述数据为例,「父项产品编号」字段列中标识了上级物料信息,「子项产品编号」标识了当前层级的物料信息,「子项产品编号」标识了当前层级物料的名称,则字段设置如下:

  • 父项编号列:选择「无」,插件会自动新增 1 列「父项编号」,用于后续导入;
  • 子项编号列:选择「BOM编码」字段,该字段列中包含了层级信息;
  • 产品名称列:选择「子项产品名称」字段;
  • 表头行数:表头占了 1 行,选择「1行」。

点击下载示例数据:父项编号关联.xlsx

拆分得到的各层数据如下,符合本文 1.2 节的数据要求(除顶层外,均包含当前和父级编号),可直接用于导入。

4.2.3 解析数据

1)完成「切分方式」设置后,点击「开始解析」按钮,插件开始自动拆分数据。

2)得到「解析完成」的提示后,可通过以下形式预览拆分结果:

  • 表格:最多展示 3 层数据,每层展示前 5 条记录。
  • 树形:直观显示层级结构。

注:解析过程中,会自动忽略格式错误的数据。可点击出现的「下载错误数据」按钮(仅在有错误数据时出现),自行查看错误数据行和错误原因(最后一列)。

4.2.4 导出数据

确认数据拆分无误后,可以导出数据。支持以下 2 种导出方式:

  • 导出全部(zip):打包所有层级数据为压缩文件,解压后即可使用。
  • 分层导出:仅导出某一层数据,需要选择想要导出的层数,点击「分层导出」按钮即可。

4.3 扩展阅读

经过上述步骤,已经可以得到包含必要信息(例如父项产品编码、子项产品编码),可用于导入的数据。

由于「父项产品编号」字段中的值会用于匹配上级 BOM,无法同时导入表单,因此如需导入该列数据,可提前在Excel 中再复制一列,一列用于匹配,一列用于导入。

5. 数据导入

注:

1)建议在 数据管理 页面中进行数据的导入,防止因字段权限不足,造成导入数据不全。

2)在迁移数据的情况下,不建议将流水号作为导入时的匹配依据,因为导出的流水号,和新生成的流水号不一致,无法对应匹配。

拆分出每个层级的数据后,即可从顶层开始,逐层导入数据。

以 4.2.2.2 节中的示例数据为例,拆分后(点击获取示例数据的 层级拆分结果 ),按如下步骤导入:

5.1 导入顶层数据

进入数据管理,点击「导入」并上传第一层数据。进行如下字段匹配后,完成第一层数据的导入。

  • 将「子项产品编号」导入「BOM编码」字段
  • 将「子项产品名称」导入「产品名称」字段
  • 将「单位用量」导入「单位用量」字段
  • 将「子项件数」导入「子项件数」字段

5.2 逐层导入后续数据

完成第一层数据的导入后,便可继续导入第二层数据,导入时通过匹配关系构建第二层与第一层间的关联。

1)继续点击「导入」按钮,并上传第二层数据。进行如下字段匹配后,完成第二层数据的导入。

  • 将「父项产品编号」导入「关联上级BOM」字段,选择匹配字段为「BOM编码」
  • 将「父项产品名称」导入「上级产品名称」字段
  • 将「子项产品编号」导入「BOM编码」字段
  • 将「子项产品名称」导入「产品名称」字段
  • 将「单位用量」导入「单位用量」字段
  • 将「子项件数」导入「子项件数」字段

2)重复上述步骤,直至遍历所有层级数据。本案例中只有三级物料,只需导入完第三级数据即可。

6. 效果演示

效果参见本文【1.3 预期效果】。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验