2、Excel补录模板管理:需要上传Excel文件(xlsx和xls格式)或绑定电子表格作为补录模板,以便补录用户可以下载模板并录入数据。
3、导入规则设置:包括基本设置、列设置、扩展设置。
4、参数布局设置:可以对参数的位置进行调整。
锚 | ||||
---|---|---|---|---|
|
设置项说明如下:
名称 | 说明 | ||
---|---|---|---|
数据源 | 要导入的目标库,需要在系统管理中先创建关系数据源。 | ||
回写表 | 要导入的目标表,需要在关系数据源中通过 数据库管理 将回写表添加到系统中。 | ||
Sheet名 | Excel文件中要导入Sheet名称,区分英文大小写。 | ||
起始行 | Excel文件开始导入的行,包含设置的值。
| ||
结束行 | Excel文件结束导入的行,设置的结束行也会执行导入,缺省直到Excel结束。
| ||
异常处理规则 | 设置出现校验异常时,是回滚还是继续执行。这里的异常是指不满足Excel导入规则中的校验规则,如长度超长、类型不匹配、超值域范围、主键冲突等),并非数据库sql执行过程中产生的异常。如果是数据库异常是直接回滚并抛出错误原因给用户的。
| ||
数据处理模式 | 设置处理数据的模式是增量还是全量。
| ||
主键冲突处理规则 | 指当Excel中要导入的数据与数据库中已有数据的主键重复时的处理规则,可以是执行更新操作,或者抛出主键冲突的异常信息。注意,这里的“主键”是“列设置”中用户指定的主键列,并不一定是数据库表的主键,但列设置中的“主键”也需要满足数据唯一性。
| ||
是否开启批量 | 配置处理数据库操作时是否使用数据库批处理。
| ||
主键校验方式 | 校验导入Excel文件中存在的重复数据。
在导入Excel文件的数据量较少时推荐使用内存校验,数据量较多时推荐使用数据库校验。 |
批量导入与主键冲突情况:
1、【主键冲突处理规则】选择【更新】时,无论是否开启【是否开启批量】,有主键冲突的时候都会更新,且显示导入行数为导入文件的数据的总行数。
2、【主键冲突处理规则】选择【作为异常处理】时:
- 开启批量导入:冲突行后数量将不导入。导入行数为冲突行前导入的行数。
- 关闭批量导入:跳过冲突行,后续数据继续导入。导入行数为总行数减去异常行数。
锚 | ||||
---|---|---|---|---|
|
设置项说明如下:
名称 | 说明 | ||
---|---|---|---|
字段名和字段类型 | 根据基本设置中的回写表结构自动读取。 | ||
是否主键 | 用于标识导入数据的唯一性。缺省会自动从数据库读取,但用户可以更改,例如选择学校代码、单位号作为主键。 | ||
是否允许空值 | 缺省会自动从数据库读取,但用户可以更改。 | ||
绑定输入 | 设置数据库表字段的数据来源。
唯一id:41位长的唯一id。 系统时间:执行导入时的系统时间。 当前用户名称:当前用户的名称。 当前用户别名:当前用户的别名。 当前行号:当前的行号。
|
按文件绑定
按文件绑定是系统提供的一种快速绑定字段的方式,通过Excel文件中的某一行的内容与数据库表的字段名(或别名)相同,自动完成Excel列与字段的绑定,而无需逐列绑定。
如数据库表结构:
Excel文件内容:
则通过文件绑定,选择该Excel文件并设置Sheet名、行号,完成自动绑定。
- Excel配置文件:Excel文件,该文件中必须有一行是数据库字段名或别名,系统通过将这个名称和数据库表的列名、或列的别名匹配达到自动映射的目的。
- 作为补录模板:勾选这一项后,系统会将上传的配置文件作为补录模板,相当于功能“上传Excel补录模板”功能。
- Sheet名:用于匹配的Sheet页名称,如果勾选了“作为补录模板”,该名称必须和Excel导入模板中配置的Sheet名相同。
- 名称所在行号:字段名、别名所在行号。
校验设置
校验规则支持:
- 字符长度限制。
- 值域范围验证(必须先设置好值域范围)。
- 数字范围验证。
- 正则表达式验证(譬如某一列必须满足邮件的规则,就可以使用正则表达式验证)。
锚 | ||||
---|---|---|---|---|
|
如果通过“列设置”中的“校验设置”不能满足用户的验证需求,可以通过扩展设置进行自定义校验规则。
- 规则验证类:自定义java验证类,对每一行数据进行校验。该类必须实现smartbi.daq.Excelimport.IRuleValidator接口,设置了该项,系统缺省的“校验设置”是不生效的,用户可以通过继承smartbi.daq.Excelimport.DefaultRuleValidator保留缺省的校验设置。
示例:扩展设置-规则校验类。 - 数据处理类:缺省情况下,系统使用smartbi.daq.Excelimport.DefaultRowDataImporter处理每一行数据,如果用户需要实现自己的导入数据的逻辑,可设置该类,并必须实现smartbi.daq.Excelimport.IRowDataImporter接口。
示例:扩展设置-数据处理类。
参数布局设置
若导入规则中的参数具有前后逻辑关系,但是在导入时参数顺序乱了,这时我们可以通过参数布局设置来调整参数位置。
设置参数布局前:
设置参数布局后: