表达式

教学视频

概述

表达式在报表中有着重要的作用,很多功能都需要使用表达式实现。BaskReport中的表达式具有脚本语言的特点,除了支持简单表达式语法外,还允许定义变量,编写多行脚本以实现相对复杂的业务逻辑。

基本语法

基本数据类型

基本数据类型有五种,分别是字符串、整形数字、浮点型数字、布尔值以及空值(null),如下表:

数据类型 描述
字符串 半角双引号包裹的字符,比如:"BaskReport"等,需要注意的是字符一定要是半角双引号,而不能是单引号。
整形数字 有正负之分,正数如:1,11,123等,负数如:-1,-11,-123等。
浮点型数字 有正负之分,正数如:0.1,0.2,21.21等,负数如:-0.1,-0.2,-21.21等。
布尔值 true和false,需要注意的是BaskReport当中普通变量也可以当成一个布尔值进行判断,比如在条件判断当中,如果判断的对象只有一个字符串,如果字符串不为null也不为空字符串,那么将返回true,否则返回false,这点类似于Javascript中对象判断。
空值 就是null
算术运算符

算术运算符支持以下五种类型:

运算符 描述
+ 在两个变量间执行加法或字符串连接运算,如果两个变量都可以转换成数字那么就执行加法运算;否则就将两个变量当前字符串,执行字符串连接运算;如:312+321,结果就是633;312+"321"结果也是633;312+"321a"结果就是312321a
- 在两个变量间执行减法运算,引擎会尝试将两个变量转换成数字后再相减,如果不能转换为数字,那么就会产生错误。
* 在两个变量间执行乘法运算,引擎会尝试将两个变量转换成数字后再相乘,如果不能转换为数字,那么就会产生错误。
/ 在两个变量间执行除法运算,引擎会尝试将两个变量转换成数字后再相除,如果不能转换为数字,那么就会产生错误。
% 在两个变量间执行除法运算后返回余数,引擎会尝试将两个变量转换成数字后再相除,如果不能转换为数字,那么就会产生错误。
逻辑运算符

在条件判断中可以使用三种逻辑运算符:

运算符 描述
&& 条件与,需要两个条件的值都是 true 时,才取值true
and 与&&含义相同,使用时条件与可以使用&&也可以使用and
|| 条件或,两个条件的值有一个是 true 时,就取值true
or 与||含义相同,使用时条件或可以使用||也可以使用or
! 取反操作符

条件判断

if...else

语法:

if (条件...){
    脚本...
}else{
    脚本...
}

条件部分可以是一个条件,也可以是由&&或||连接的多个条件,多个条件间可通过括号()实现条件判断优先级。

if...else if...

语法:

if (条件...){
    脚本...
}else if(条件...){
    脚本...
}...

else if数量不限,可多级嵌套。

由于代码编辑器的语法识别问题,在使用if表达式时,如果编辑器报if函数不存在,那么请在if后面添加一个空格即可。

三元表达式

语法:

条件... ? 表达式1  : 表达式2

如果条件部分满足,返回表达式1执行结果,否则返回表达式2执行结果。

变量

表达式中运行变量,语法:

var varName=表达式

变量通过var声明后,在后面的脚本就可以使用它,如下面的用法:

var valueC1=C1;
var size=&B1;
return valueC1/size;

上面的一段脚本中定义了两个变量valueC1和size,分别用于接收单元格C1的值和单元格B1展开后的序号,最后返回这两个变量相除的结果。

多行表达式后可以以分号结尾,当然也可以不加分号。

results matching ""

    No results matching ""