当前位置: 首页 > 后端技术 > Java

JimuReport积木报表——表达式介绍

时间:2023-04-01 18:44:45 Java

前言:我们在报表设计中经常会用到表达式,就像在excel中使用公式一样。有了表达式,会让我们的报表设计工作更有效率。积木报告包含哪些表达式?积木报表改进了原有的表达式,在原有的基础上扩展了数据集表达式、单元格表达式、统计函数、行号函数、日期函数、数学函数、字符串函数、条件表达式、颜色表达式、判断函数、基本操作员功能和系统功能。让我们看一下包含哪些表达式以及如何使用它们。1.数据集函数数据集函数包括sum(求和)、average(平均值)、max(最大值)、min(最小值)和基本运算符(+-*/)例子:以sum为例Example=sum(#{jm.money},#{jm.extend_money})cansummultiplecolumns#{jm.money}#表示数据集jm是一个集合${jm.money}$表示数据集jm是一个对象(单个数据)2.单元格函数单元格函数还包括:sum(求和)、average(平均值)、max(最大值)、min(最小值)和基本运算符(+-*/)例子:以sum为例=sum(C6)对C6单元格求和,如果C6单元格是${db.count}等表达式,则对页面表达式循环出的所有数据求和=sum(A6,C6)对A6单元格和C6单元格求和=sum(A6:C6)对A6到C6单元格求和3.统计函数统计函数有dbsum(求和),dbmax(最大值),dbmin(求最小值),dbaverage(求平均值)是计算指定的所有数据指定数据集的字段。比如dbsum和sum函数的区别:dbsum统计数据集中的所有数据,而sum只支持当前页的数据。示例使用dbsumExample=dbsum(jm.money)4.行号函数行号函数:通过行号函数实现自增序列号示例:=row()多个列表需要行号,需要一个数字参数设置区分计数器,如:=row(1)=row(2)5、日期函数日期函数包括日期(获取年、月、日)、时间(获取时、分、秒)、年(获取year),month(获取月份),day(获取日期),now(获取当前时间长整型值),nowstr(获取当前时间字符串)示例:以date为例=date("1982-08-09")返回日期:1982-08-0900:00:00=date("1982-08-0910:20:30")返回日期:1982-08-0900:00:00集合:=date('#{jm.create_time}')object:=date('${jm.create_time}')Cell:=date(A1)6.数学函数数学函数包括rand(获取随机数)、round(取整)、abs(绝对值)、floor(舍入)、ceil(舍入)、trunc(舍入)示例:withr以ound为例=round(3451251.274,0)=round(#{db.salary},2)7、字符串函数字符串函数有char(unicode编码或ascii编码转换)、cnmoney(大写金额转换)、concat(字符串拼接),lower(转小写),upper(转大写),date_str(日期转字符串)例子:以cnmoney为例=cnmoney(1.232)返回:一元二角三点集合:=cnmoney(#{jm.money})object:=cnmoney(${jm.money})cell:=cnmoney(A1)8.expression条件表达式是对数据进行条件判断,包括case和if例子:=case('#{dd.sex}'=='1','男','女')=case(1==1,1,2)->1=(letsex='#{dd.sex}';if(sex=='1'){'男'}elsif(sex=='2'){'女'}else{'未知'})=(if(A1==1){return(A1+B1)*200;})9.颜色表达式颜色表达式包括:color(单元格字体/背景颜色),=rowcolor(整行字体/背景颜色)例子:以颜色为例设置:=color('#{jm.salse}','#ffffff','#171516')object:=color('${jm.salse}','#ffffff','#171516')cell:=color(A1,'#ffffff','#171516')固定值:=color('2','#ffffff','#171516')10、breaking函数的作用是判断数据;包括istime(时间判断)、isdate(周期判断)、isnumber(判断个数)、intval(参数为空则返回默认值0)、strval(参数为空则返回默认值nil)示例:以istime为例=istime("10:20:30")returntrue=istime('#{jm.create_time}')=istime('${jm.create_time}')=istime(A1)我要尝试