页面树结构
转至元数据结尾
转至元数据起始


示例效果      

导入的Excel数据包含三列:发生日期、借方余额和贷方余额。需要实现规则校验类,判断借方余额和贷方余额是否相等,若不相等,则校验不通过,产生提示信息。

导入数据:

 

实现步骤

1、参考插件开发指南和 Excel数据导入完整教程 中的演示绑定自定义java类的导入模板,实现该类,并编译生成扩展包。

2、参考扩展包部署,部署该扩展包。

3、新建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,"借贷不相等");
	}
}

1、以上规则验证会使得系统配置界面的 校验设置 失效,要想那个生效,请继承smartbi.daq.excelimport.DefaultRuleValidator,并在实现类调用基类方法。

2、扩展包应该设置优先级:depends="DataImporter" ,否则类找不到。

  • 无标签

评论

  1. 谢庚任 发表:

    扩展包应该设置优先级:depends="DataImporter" ,否则类找不到