利用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本身,通过此种方式判断导入的某字段数据已存在于数据库中。
|