示例效果:
导入的Excel数据包含三列:发生日期、借方余额和贷方余额。需要实现规则校验类,判断借方余额和贷方余额是否相等,若不相等,则校验不通过,产生提示信息。
导入数据:
导入的Excel数据包含三列:发生日期、借方余额和贷方余额。需要实现规则校验类,判断借方余额和贷方余额是否相等,若不相等,则校验不通过,产生提示信息。
导入数据:
实现步骤:
- 参考 插件开发指南,实现该类,并编译生成扩展包。和Excel数据导入完整教程的演示绑定自定义java类的导入模板,实现该类,并编译生成扩展包。
- 参考扩展包部署,部署该扩展包
- 新建Excel导入模板,进行基本设置及列设置
4.切换到"列设置",输入实现的规则校验类名称并保存
5.打开该Excel导入规则,导入其中借方余额和贷方余额不相等的数据,提示如下:
附录
规则校验类代码 规则校验类代码
代码块 | ||
---|---|---|
| ||
package smartbi.ext; import smartbi.daq.excelimport.IRuleValidator; import smartbi.daq.excelimport.ImportFileConfig; import smartbi.daq.excelimport.RowData; import smartbi.daq.excelimport.RuleValidatorResult; import smartbi.net.sf.json.JSONObject; //示例验证类,判断借贷是否相等 public class DemoRuleValidator implements IRuleValidator { @Override public RuleValidatorResult valid(JSONObject ruleConfig, RowData rowData, ImportFileConfig config) throws Exception { if (rowData.getCell(1).equals(rowData.getCell(2))) return new RuleValidatorResult(); else return new RuleValidatorResult(false,"借贷不相等"); } } |
注:以上规则验证会使得系统配置界面的 校验设置 失效,要想那个生效,请继承smartbi.daq.excelimport.DefaultRuleValidator,并在实现类调用基类方法。