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


    前言:在报表设计中我们经常会用到表达式,就像在excel中用到公式一样,有了表达式会使我们的报表设计工作事半功倍。

    积木报表包含哪些表达式?


    积木报表完善了原有表达式,在原有基础上,扩展了数据集表达式、单元格表达式、统计函数、行号函数、日期函数、数学函数、字符串函数、条件表达式、颜色表达式、判断函数,基本运算符函数及系统函数。
    下面我们就来看一下都包括哪些表达式及其用法吧。

    1. 数据集函数

    数据集函数包含sum(求和)、average(求平均值)、max(求最大值)、min(求最小值)及基础运算符(+-*/)

    示例: 以sum为例

    • =sum(#{jm.money},#{jm.extend_money}) 可以对多列求和
    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只支持当前页数据

    示例 以dbsum为例

    • =dbsum(jm.money)
    4.行号函数

    行号函数:通过行号函数实现自增序号

    示例:

    • =row()
    • 多个列表需要行号,需要设置一个数字 参数区分计数器如:=row(1) =row(2)
    5.日期函数

    日期函数包含date(获取年月日)、time(获取时分秒)、year(获取年)、month(获取月)、day(获取天)、now(获取当前时间长整型数值)、nowstr(获取当前时间字符串)

    示例: 以date为例

    • =date("1982-08-09") 返回日期:1982-08-09 00:00:00
    • =date("1982-08-09 10:20:30") 返回日期:1982-08-09 00:00:00
    • 集合:=date('#{jm.create_time}')
    • 对象:=date('${jm.create_time}')
    • 单元格:=date(A1)
    6.数学函数

    数学函数包含rand(获取随机数)、round(四舍五入)、abs(取绝对值)、floor(取整)、ceil(取整)、trunc(取整)

    示例: 以round为例

    • =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})
    • 对象:=cnmoney(${jm.money})
    • 单元格:=cnmoney(A1)
    8、条件表达式

    条件表达式是对数据进行条件判断 ,包含 case、if

    示例:

    • =case('#{dd.sex}'=='1','男','女')

    • =case(1==1,1,2) ->1

    • =(let sex= '#{dd.sex}';
      if(sex== '1'){
      '男'
      }elsif(sex== '2'){
      '女'
      }else{
      '未知'
      })

    • =(if(A1==1){return (A1+B1)*200;})

    9、颜色表达式

    颜色表达式包含:color(单元格字体/背景颜色)、rowcolor(整行字体/背景颜色)

    示例: 以color为例

    • 集合:=color('#{jm.salse}','#ffffff','#171516')
    • 对象:=color('${jm.salse}','#ffffff','#171516')
    • 单元格:=color(A1,'#ffffff','#171516')
    • 固定值:=color('2','#ffffff','#171516')
    10、判断函数

    判断函数是对数据进行判断;包含istime(时间判断)、isdate(时期判断)、isnumber(数字判断)、intval(参数为空则返回默认值0)、strval(参数为空则返回默认值nil)

    示例: 以istime为例

    • =istime("10:20:30") 返回 true
    • =istime('#{jm.create_time}')
    • =istime('${jm.create_time}')
    • =istime(A1)

    我想试一试

  • 相关阅读:
    51nod 237 最大公约数之和 V3 杜教筛
    luogu P4213 【模板】杜教筛(Sum)
    BZOJ 3527: [Zjoi2014]力 FFT
    凸多边形 HRBUST
    luogu P1354 房间最短路问题 计算几何_Floyd_线段交
    几何基础
    BZOJ 1862: [Zjoi2006]GameZ游戏排名系统 Hash + Splay
    BZOJ3529: [Sdoi2014]数表 莫比乌斯反演_树状数组
    BZOJ 2820: YY的GCD 莫比乌斯反演 + 数学推导 + 线性筛
    迭代器,三元表达式,列表生成式,字典生成式,生成器,递归(没深入理解)
  • 原文地址:https://www.cnblogs.com/jeecg158/p/15242563.html
Copyright © 2020-2023  润新知