FineReport利用map函数校验导入数据是否存在
利用FineReport制作填报报表模板时(主要是利用excel导入来实现数据填充),有时需要对导入的数据进行校验,查看数据库中是否存在,官方是利用JS来进行校验,本人对JS基本不懂,经过摸索,发现利用FineReport的map函数即可实现这个功能,具体步骤如下:
1.设计好模板,创建一个查询ds1
假如模板D1单元格为商品编号(唯一的),在报表中创建一个查询ds1,比如select field001,'是' as field002 from table,其中field001为商品编号,table为商品库;
2.在填报属性中的数据校验公式中设置:map(D1, "ds1", 1, 2) ,如果D1与ds1中匹配,则返回值“是”,否则返回D4本身,通过此种方式判断导入的某字段数据已存在于数据库中。
http://a3.qpic.cn/psb?/3381a6b6-2051-4276-bb37-e223e89c4aa9/IyEcYQrdBGvVys6*IpdqzOTlWtxFyqs5F65uUtJULIU!/b/dHIAAAAAAAAA&ek=1&kp=1&pt=0&bo=oAL*AAAAAAAREHo!&t=5&su=0245935217&tm=1519981200&sce=0-12-12&rf=2-9