历史版本4 :常用函数集合插件 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
前言编辑
在FineReport中使用公式的时候,如果需要在公式中做判断,就需要使用IF或者SWITCH函数,这两个函数有时候还会嵌套,很不利于阅读。
解决方案编辑
使用常用函数插件:http://shop.finereport.com/ShopServer?pg=product&pid=512
使用了该插件后,可以在SciptEval函数中使用JavaScript语法。
下面我们来做一个对比:
在模板中A4格式是一个扩展格子(向下扩展),值为[1,2,3,4],加入我们需要让B4格子的值满足以下条件
当A4的值大于3的时候,返回A4 * 2的值,当A4的值小于3的时候,返回A4减2的绝对值,当A4等于3的时候,返回A4的A4的2次方。
如果用传统的函数,写法大概是这样的
if(A4 > 3, A4 * 2, if(A4 < 3, abs(A4 - 2), power(A4, 2)))
而如果使用ScriptEval函数写法大概是这样的
ScriptEval(
'if(a > 3) {return a * b;} else if (a < 3){return Math.abs(a - b);} else {return Math.pow(a, b)}',
"a", A4, "b", 2)
运行结果是这样的(把两种写法汇总到一起做对比)
可以看到结果完全没有差别,但是使用JavaScript语法有更灵活实现和更丰富的表达方式。
咦,我是susie,我编辑可以哎
普通账户再试一下