跳到主要内容

数据解析与导入

导入组件

在Web开发中,从Excel文件导入数据是一种常见场景。企业员工信息批量录入、财务报表数据导入、库存清单更新等业务需求,都需要支持用户上传Excel文件并将其中的数据批量导入到系统中。

页面添加导入组件

在页面编辑器中拖入导入组件后,会默认选择所有除主键id、流水号、子表之外的字段作为可导入字段:

Loading...

本示例中用到的数据表模型字段如下图:

Loading...

生成的导入模板中左下角的sheet名称和数据表模型一致, 表头和配置区已显示的字段的名称和顺序一致:

Loading...

导入流水号字段

默认情况下,支持导入流水号字段未被勾选,因为流水号通常在业务中自动生成。如果需要通过Excel导入流水号数据,请勾选此选项,然后在选择显示字段面板中勾选流水号字段。

Loading...

设置必填字段

导入组件默认情况下,所有字段都不是必填的,导入组件支持设置某些字段为必填:

Loading...

点击字段名称,在弹出窗中勾选导入时必填,然后点击确定。

给字段设置必填属性后,导入模板中字段名称会带上 *

Loading...

导入子表数据

当主表配置了子表字段时,客户可能希望在导入主表数据的同时直接导入子表字段的数据,以拥有更好的体验。按照如下步骤配置:

Loading...

第一步,在右侧配置区导入子表选项中,勾选要导入的子表。

Loading...

第二步,设置模板sheet页名称,导入数据的时候,子表的数据放到一个单独的sheet页中,而且模板中的sheet页名称和模板sheet页名称要一样。

Loading...

最后,配置关联匹配映射主表字段。如图中配置关联匹配字段名为子表匹配字段映射主表字段姓名,在导入模板中,子表中的子表匹配字段 和主表中的姓名字段的值要对应上,导入模板和数据如下所示:

  1. 主表导入模板和数据:

Loading...

  1. 子表导入模板和数据:

Loading...

提示

在导入时,模板的sheet名, 模板第一行的字段名和顺序不要改动。否则可能导致导入失败。

在导入页面,上传模板后页面如下图:

Loading...

可以在页面顶部的选择主表工作表切换导入的sheet页,客户可以通过切换主表工作表来查看数据是否解析正确。

Loading...

导入成功如下图:

Loading...

在数据表模型中可以看到导入后的主子表数据:

Loading...

Loading...

追加导入/更新导入

在默认情况下,导入组件所选择的导入方式是追加导入,在只导入主表数据的时候,可以把导入方式切换成替换导入

Loading...

点击导入配置下方的选择框,选择替换导入。

Loading...

然后点击替换设置下的选择框,在弹出的下拉框中选择替换的匹配字段。

提示

替换匹配字段最多可以选择5个,在导入的时候,平台会根据匹配字段用Excel中的数据替换数据表模型中的数据,如果匹配不到数据,则不导入未匹配数据。

使用示例,如下图配置,根据姓名字段进行替换导入:

Loading...

导入模板和数据:

Loading...

替换导入前数据表模型中的数据:

Loading...

替换导入后数据表模型中的数据:

Loading...

按条件导入数据

有些时候,客户的Excel文件中的数据量比较大,只需要导入符合特定条件的数据,可以通过配置导入条件满足这种场景。

Loading...

点击配置导入条件按钮,在弹出的面板中先配置筛选条件,然后点击确定。如上图所示,配置的筛选条件是:姓名包含"王"。在下图所示的数据中,只会导入前两行数据。

Loading...

导入结果如下:

Loading...

导入失败记录会提示后两条数据不满足条件:

Loading...

添加导入说明文案

导入组件默认会对导入的文件格式、文件大小等进行说明,当用户配置了导入条件后,可以配置对应的导入说明进行额外的提示:

Loading...

导入说明下的输入框中输入说明信息后点击保存,会在组件默认的提示信息下方显示自定义的导入说明。

导入前预处理/导入后触发函数

当需要对导入的数据进行前置处理时,可以配置导入前预处理函数。例如:对Excel中的手机号进行格式校验和标准化处理,将不同格式的日期统一转换为标准格式,或者对金额字段进行数值验证和精度调整等数据清洗工作。

当导入数据完成后进行后续处理时,可以配置导入后触发函数。例如:自动发送导入完成通知邮件给相关用户,更新其他关联数据表的统计信息,触发业务流程审批流程,或者生成数据导入报告并推送到企业微信群等后续业务操作。

Loading...

点击配置触发函数按钮,在弹出的面板中选择服务和对应的函数,用户也可以选择自己创建的服务和函数。

提示

导入组件会将所有待导入的数据作为参数传递给处理函数,参数格式为数组,数组中每个元素对应数据表模型的一行记录。

导入提示按钮点击后事件

Loading...

用户可自行配置导入提示按钮点击后事件,在此事件中可以做一些自定义提示,如果导入组件是在弹窗中,也可在本事件中配置关闭弹窗。

Loading...

在事件中点击导入提示按钮点击后,配置对应的事件逻辑。

本事件与导入后触发函数有以下区别:

特性导入后触发函数导入提示按钮点击后
必定触发用户点击后触发
扩展性只能选择服务和函数可以选择更丰富的自定义语句

解析Excel

在Web应用中,大多数情况下需要从Excel中解析数据并导入到对应的数据表模型中。此外,还有一种常见的使用场景:从Excel中解析数据,直接更新当前页面中的表单或表格数据,而无需经过数据表模型的存储过程。

新建解析Excel组件

主页面或者弹窗组件中,拖入解析Excel组件后,组件默认选择非主键的字段作为默认配置解析的字段。

Loading...

配置字段别名

当数据表模型中的字段原名太长或者不易理解时,开发者可以给字段设置别名来提高用户体验。

Loading...

点击字段名称,在弹出的对话框中输入自定义的别名,点击确定。

Loading...

调整字段顺序

开发者可通过拖拽调整解析字段的顺序,让使用频率更高的字段排在前面。

Loading...

鼠标放到字段名称上,会在该行的最后出现拖动排序图标,点击拖动图标,上下拖动字段就可进行排序。

删除解析字段

组件默认会选择除主键外的所有字段作为解析字段。如果开发者觉得字段过多,可以自行删除不需要解析的字段。组件会根据选择的字段名称和顺序自动更新数据模板。

Loading...

鼠标放到字段名称上,点击最右侧删除图标。

新建自定义按钮

开发者可以在解析页面添加自定义按钮,用来在解析完成后添加其他自定义操作。例如:将解析后的数据进行二次加工。

Loading...

点击按钮右边的+,点击底部按钮,在弹窗中设定按钮名称、图标、类型、配色属性后点击确定。

页面效果如下:

Loading...

解析后事件

开发者可以在解析后事件中配置数据处理逻辑,比如说把解析后的用户名更新到表单组件中:

Loading...

Loading...

当前示例主页面是一个表单组件:

Loading...

使用效果:

Loading...