高级excel导入

场景描述

  1. 是在原前端excel导入组件的基础上,拓展后端Excel导入能力,

  2. 拓展的Excel导入组件:支持多工作导入、支持主从定义导入,支持导入数据集主键及主从关联外键通过配置自动生成机制

  3. 提供导入工作表列单独定义导入校验规则

  4. 提供导入工作表行上支持多校验规则

  5. 提供导入数据时增加列计算规则

  6. 提供行导入后增加服务调用能力

实现思路

使用高级Excel导入组件,从市场中下载组件,下载后放在高级分类中,页面中引入组件,配置对应组件属性及事件调用提供的操作即可

实现步骤

1. 从市场下载高级excel导入组件

  1. 该组件是服务组件,引入后会提示重启控制台,根据提示确定重启即可

  1. 组件下载后,在组件的高级分类中显示

2. 创建高级Excel导入服务请求

  1. 在服务中创建服务并新建请求,请求类型通过下拉选择“excel高级/Excel导入”,并设置请求名称及显示名称、描述即可

  2. 完成配置后显示如下

  1. 如导入数据集中字段列值需要从前端页面中获取,那么在请求参数中添加参数即可,之后在工作表列中设置字段对应参数值,并在组件调用时设置参数导入

3. 配置工作表导入参数属性

  1. 点击处理逻辑中“设置”按钮打开导入请求配置页面

  2. 默认打开只有一个工作表设置项,如要导入多个工作表数据,则点击右侧+号添加工作表,如主从数据集导入情况,需要添加多个工作表,即对应Excel表中的不同的sheet页内容

  3. 请求配置页面属性说明

    1. 工作表名:默认工作表一,可自定义工作表名称
    2. 类型:同构工作表(所有工作表使用相同定义),工作表使用不同定义,如主从情况选择普通工作表
    3. 表头行数:默认1,对应Excel表列名称所在的行
    4. 列头行数:当表头标题有合并列情况时设置
    5. 数据表:选择要导入数据的表
    6. 导入模式:增量模式:对已有字段列中数据保持不变,对其他列没有的列进行添加;覆盖模式:覆盖已有的全部数据
    7. 错误回滚:开启后,当导入数据不满足条件时,比如导入字段值超过数据集字段长度时,整个Excel表中的数据都不会导入,反之,只导入满足条件的(注:错误回滚不作用于规则表达式)
    8. 行校验规则:可以对Excel表中列设置导入规则校验,满足规则导入,否则不导入;如图
      1. 先在工作表列中增加要设置规则的列,如上图对“是否有效”列设置规则导入,则先在工作表列中添加列名
      2. 设置完成后,在规则校验的表达式中才可以选择设置,如设置“是否有效”列规则等于1的导入,则表达式中设置,这样设置后在导入时只会导入满足条件的数据,不满足校验则不导入
    9. 工作表列:对Excel列与数据表列设置对应关系及设置列计算规则、校验规则、主从数据集设置外键关联关系设置(注:Excel表中的列名与数据表中列名相同时,可以不定义对应关系)

      1. 如图

      对合计列增加计算规则,在计算规则里可直接设置合计表达式,也可以设置从前端获取的参数的值

      1. 导入后合计列数据自动计算生成,效果如下
  4. 主从关系导入说明

    1. 工作表类型设置为普通工作表
    2. 在主数据的工作表列中,添加主从关联查找列
    3. 在从工作表中,设置从表关联主的外键查找取值
    4. 执行导入后从表数据集的分类列,将自动填充主表ID列的值,效果如下
  1. 行合并场景导入说明

    1. 如图Excel中对行进行合并

    1. 导入服务设置如下即可导入

    1. 效果如下

  2. 列合并场景导入说明

    1. 如图Excel中对列进行合并,并且列名称有重复情况
    2. 导入服务设置如下,需要对列名称使用竖线 | 分割并进行字段映射
  3. 按某批次及排序说明

    1. 按Excel表数据顺序依次导入排序,需在数据集上新增批次、序号字段,,批次及序号使用提供的Excel上下文函数获取值
    2. 效果如图,批次是按本次导入批次自动生成,序号列可用于在页面数据集上进行排序显示

4. 页面引入组件配置属性

  1. 在要执行导入的页面中,添加导入服务组件、高级Excel导入组件
  2. 在导入组件的基础导入服务属性中,选择Excel导入服务
  3. 组件事件
    1. 导入前事件:执行导入前事件
    2. 导入成功事件:执行导入成功后事件
    3. 导入失败事件:执行导入失败后事件

5. 事件调用组件操作

  1. 在要执行导入操作事件中,执行提供的导入操作即可

results matching ""

    No results matching ""

    results matching ""

      No results matching ""