# SuperPage交互-导入数据
导入数据交互用于将excel或csv文件中的数据提交至数据库中,常与按钮搭配使用。如点击按钮,使用导入数据的方式将企业信息填报至数据库中:
示例地址:列表-增删改查 (opens new window)
# 使用导入数据
# 数据来源
# 使用场景
- 直接导入:通过导入数据交互,直接将数据存入目标模型表中
- 筛选后导入:将通过交互导入的数据存入至临时表中,通过复制数据对筛选后的数据保存至最终所需的目标表中
# 导入文件的要求
- 字段名称相同:若勾选“导入所有同名字段”,则excel第一行统一为字段名称,该字段名称需要与模型表内字段名称完全一致;若不勾选,则无此要求,但必须在更多字段设置中加入映射关系
- 必须包含主键字段:上传的excel文件中,必须包含目标模型表的主键字段
# 示例步骤
为避免上传excel时数据格式不统一,可以使用打开链接交互提供excel模板,下面以企业信息的导入填报为例,具体操作步骤如下:
# 提供下载模板
- 制作excel模板:用excel制作一个表格,在第一行的每一列中输入字段名称
- 将excel导入门户中:打开SuperPage资源树,右键导入已经制作好的excel
- 添加下载excel模板的按钮:新增下载模板的按钮,在交互中添加打开链接交互,并链接到excel的存放路径
# 设置导入属性
- 按钮组件添加交互:选中按钮组件,在交互中添加导入数据
- 设置交互属性:在交互>导入数据>文件中选择上传文件,在目标数据集选择对应的模型表,选择覆盖模式,勾选导入所有同名字段
- 更多字段设置:在更多字段设置中的目标字段中选择excel模板内没有提供的字段,并手动输入表达式给该字段赋值
TIP
目标数据集属性用于设置将数据导入至的数据模型,该模型需提前在SuperPage中进行引用,并设置该模型为可写或可读可写。
# 数据文件上传方式
导入数据交互提供了两种上传方式,在文件属性中进行设置,有以下两个选项:
- 上传文件:表示直接弹出一个选择文件的对话框,选择文件上传并导入
- 附件控件:表示从附件控件中取文件信息,需要在附件控件属性中选择对应的上传附件组件
若需获取上传的文件ID,可以勾选将文件ID设置给指定参数属性,将上传的文件ID赋值给提前设置好的全局参数。如对导入的文件进行筛选,使用文件ID进行区分,则可通过勾选该属性获取文件ID。
# 数据的导入方式
# 数据写入方式
数据导入至数据库中时,需要为其设置导入方式,如追加、覆盖、合并等,在覆盖模式属性中进行设置:
- 覆盖全部:清空表内原有的所有数据,并将导入的数据填入
- 追加:在表内原有的数据上进行追加,不覆盖原有数据,若存在主键相同的数据,不进行任何操作
- 合并:根据主键进行判断,若主键相同,则进行覆盖导入,若主键不同,则进行追加导入
勾选导入所有同名字段,系统自动将excel或csv文件中的字段名称与模型表的字段名称进行匹配并导入;若不进行勾选,则需要在更多字段中设置目标模型表的字段与文件字段的对应关系,否则无法正确导入。
# 关联模型表数据导入
在导入excel数据的基础上,还可以从其他模型表中获取数据并补全至指定的字段中。如上传企业信息excel时,法定代表人不需要填写,而是从其他表中获取到该企业的法定代表人并存入至目标数据模型中,关联数据导入属性就提供了从其他表取数的入口。勾选后需要对如下属性进行设置:
- 关联数据集:选择需要从中取数的模型表
- 关联数据字段:关联数据集中需要与excel进行关联的字段,如模型表字段【企业名称】
- 关联文件字段:与关联数据集需要进行关联的字段,如excel中的【企业名称】
关联数据集的数据将作为补充数据与excel的数据一同导入至目标模型表,必须在字段设置中设置关联数据集字段与目标数据集的映射关系,若设置的字段在excel中已经存在,则以关联数据集中的数据为准。
# 更多字段设置
需要由系统自动生成的字段值,可以在更多字段属性下进行设置,如创建时间不需要在excel中填写,可通过now()
表达式将当前时间赋值给创建时间字段。勾选更多字段,并在更多字段>字段设置对话框中编辑。
- 目标字段:目标数据集的字段
- 类型与值
- 表达式:通过表达式取到数据,“值”为表达式
- 文件ID:将上传的文件ID赋给目标字段
- 关联表字段:使用关联数据导入后必须设置的类型,“值”为关联数据集对应的目标数据集字段
- 文件字段:对应上传excel中的字段,“值”为excel的字段名称。
- excel列名:每列数据的列头一般是本列数据的标题,例如“资产名称”
- 行号:需要获取每行数据的行号时,可手动输入“行号”