数据解析与导入
导入组件
在Web开发中,从Excel文件导入数据是一种常见场景。企业员工信息批量录入、财务报表数据导入、库存清单更新等业务需求,都需要支持用户上传Excel文件并将其中的数据批量导入到系统中。
页面添加导入组件
在页面编辑器中拖入导入组件后,会默认选择所有除主键id、流水号、子表之外的字段作为可导入字段:
本示例中用到的数据表模型字段如下图:
生成的导入模板中左下角的sheet名称和数据表模型一致, 表头和配置区已显示的字段的名称和顺序一致:
导入流水号字段
默认情况下,支持导入流水号字段未被勾选,因为流水号通常在业务中自动生成。如果需要通过Excel导入流水号数据,请勾选此选项,然后在选择显示字段面板中勾选流水号字段。
设置必填字段
导入组件默认情况下,所有字段都不是必填的,导入组件支持设置某些字段为必填:
点击字段名称,在弹出窗中勾选导入时必填,然后点击确定。
给字段设置必填属性后,导入模板中字段名称会带上 *
导入子表数据
当主表配置了子表字段时,客户可能希望在导入主表数据的同时直接导入子表字段的数据,以拥有更好的体验。按照如下步骤配置:
第一步,在右侧配置区导入子表选项中,勾选要导入的子表。
第二步,设置模板sheet页名称,导入数据的时候,子表的数据放到一个单独的sheet页中,而且模板中的sheet页名称和模板sheet页名称要一样。
最后,配置关联匹配 和 映射主表字段。如图中配置关联匹配字段名为子表匹配字段, 映射主表字段为姓名,在导入模板中,子表中的子表匹配字段 和主表中的姓名字段的值要对应上,导入模板和数据如下所示:
- 主表导入模板和数据:
- 子表导入模板和数据:
在导入时,模板的sheet名, 模板第一行的字段名和顺序不要改动。否则可能导致导入失败。
在导入页面,上传模板后页面如下图:
可以在页面顶部的选择主表工作表切换导入的sheet页,客户可以通过切换主表工作表来查看数据是否解析正确。
导入成功如下图:
在数据表模型中可以看到导入后的主子表数据:
追加导入/更新导入
在默认情况下,导入组件所选择的导入方式是追加导入,在只导入主表数据的时候,可以把导入方式切换成替换导入:
点击导入配置下方的选择框,选择替换导入。
然后点击替换设置下的选择框,在弹出的下拉框中选择替换的匹配字段。
替换匹配字段最多可以选择5个,在导入的时候,平台会根据匹配字段用Excel中的数据替换数据表模型中的数据,如果匹配不到数据,则不导入未匹配数据。
使用示例,如下图配置,根据姓名字段进行替换导入:
导入模板和数据:
替换导入前数据表模型中的数据:
替换导入后数据表模型中的数据:
按条件导入数据
有些时候,客户的Excel文件中的数据量比较大,只需要导入符合特定条件的数据,可以通过配置导入条件满足这种场景。
点击配置导入条件按钮,在弹出的面板中先配置筛选条件,然后点击确定。如上图所示,配置的筛选条件是:姓名包含"王"。在下图所示的数据中,只会导入前两行数据。
导入结果如下:
导入失败记录会提示后两条数据不满足条件:
添加导入说明文案
导入组件默认会对导入的文件格式、文件大小等进行说明,当用户配置了导入条件后,可以配置对应的导入说明进行额外的提示:
在导入说明下的输入框中输入说明信息后点击保存,会在组件默认的提示信息下方显示自定义的导入说明。
导入前预处理/导入后触发函数
当需要对导入的数据进行前置处理时,可以配置导入前预处理函数。例如:对Excel中的手机号进行格式校验和标准化处理,将不同格式的日期统一转换为标准格式,或者对金额字段进行数值验证和精度调整等数据清洗工作。
当导入数据完成后进行后续处理时,可以配置导入后触发函数。例如:自动发送导入完成通知邮件给相关用户,更新其他关联数据表的统计信息,触发业务流程审批流程,或者生成数据导入报告并推送到企业微信群等后续业务操作。
点击配置触发函数按钮,在弹出的面板中选择服务和对应的函数,用户也可以选择自己创建的服务和函数。
导入组件会将所有待导入的数据作为参数传递给处理函数,参数格式为数组,数组中每个元素对应数据表模型的一行记录。
导入提示按钮点击后事件
用户可自行配置导入提示按钮点击后事件,在此事件中可以做一些自定义提示,如果导入组件是在弹窗中,也可在本事件中配置关闭弹窗。
在事件中点击导入提示按钮点击后,配置对应的事件逻辑。
本事件与导入后触发函数有以下区别:
| 特性 | 导入后触发函数 | 导入提示按钮点击后 |
|---|---|---|
| 必定触发 | 是 | 用户点击后触发 |
| 扩展性 | 只能选择服务和函数 | 可以选择更丰富的自定义语句 |
解析Excel
在Web应用中,大多数情况下需要从Excel中解析数据并导入到对应的数据表模型中。此外,还有一种常见的使用场景:从Excel中解析数据,直接更新当前页面中的表单或表格数据,而无需经过数据表模型的存储过程。
新建解析Excel组件
在主页面或者弹窗组件中,拖入解析Excel组件后,组件默认选择非主键的字段作为默认配置解析的字段。
配置字段别名
当数据表模型中的字段原名太长或者不易理解时,开发者可以给字段设置别名来提高用户体验。
点击字段名称,在弹出的对话框中输入自定义的别名,点击确定。
调整字段顺序
开发者可通过拖拽调整解析字段的顺序,让使用频率更高的字段排在前面。
鼠标放到字段名称上,会在该行的最后出现拖动排序图标,点击拖动图标,上下拖动字段就可进行排序。
删除解析字段
组件默认会选择除主键外的所有字段作为解析字段。如果开发者觉得字段过多,可以自行删除不需要解析的字段。组件会根据选择的字段名称和顺序自动更新数据模板。
鼠标放到字段名称上,点击最右侧删除图标。
新建自定义按钮
开发者可以在解析页面添加自定义按钮,用来在解析完成后添加其他自定义操作。例如:将解析后的数据进行二次加工。
点击按钮右边的+,点击底部按钮,在弹窗中设定按钮名称、图标、类型、配色属性后点击确定。
页面效果如下:
解析后事件
开发者可以在解析后事件中配置数据处理逻辑,比如说把解析后的用户名更新到表单组件中:
当前示例主页面是一个表单组件:
使用效果: