在做报表的时候,经常需要生成一个序列,比如:字母序列a、b、c、d、e...
皕杰报表本身提供了list函数来生成有限的枚举序列,使用如下:
语法:list(valueExp1{,valueExp2{,valueExp3{,……}}})
参数说明:valueExp(n) 可以是字符型数据,整型数据,浮点型数据,布尔型数据或表达式
举例说明:
例1:list(1,2,3),结果为:1,2,3
例2:list('一级', '二级'),结果为:一级,二级
例3:list(12>3,12=13),结果为:true,false
但是list函数是基于枚举的方式,如果序列的成员过多,采用list函数,书写起来太长,影响效率。
所以,皕杰报表又另外提供了一个zone函数来生成一组整数序列、字符序列或日期序列,使用如下:
语法:zone(from, to{,isStrict})
参数说明:
from 开始的数值、字母或日期(如果参数是日期时间,会忽略时间,仅仅当作日期来处理)
to 结束的数值、字母或日期(如果参数是日期时间,会忽略时间,仅仅当作日期来处理)
isStrict 是否严格排序模式。在严格模式下,序列一定是从from到to排列的;在宽松模式下,序列是从小到大排列的;不设置该值的话,是宽松模式(即:默认是false)
举例说明:
例1:zone(1,3),生成的整数序列为1,2,3
例2:zone(a,f),生成的字母序列为a,b,c,d,e,f
例3:zone(K,F),生成的字母序列为F,G,H,I,J,K
例4:zone(K,F,true),生成的字母序列为K,J,I,H,G,F
例5:zone(todate('2021-02-27'),todate('2021-03-02')),生成的日期序列为2021-02-27,2021-02-28,2021-03-01,2021-03-02