FineReport----单元格元素(数据列、公式、斜线)

一、绑定、插入数据列

 数据集字段绑定

二、公式

1、单元 格计算

1、两个单元格(C7,I7)和

 2、等于某单元格的值

D7等C7单元格的值

3、C7/8(除)

4、除数被除数为零、空的处理

http://help.finereport.com/doc-view-367.html

=IF(B2=0,"0",A2/B2)//零

=IF(len(B2)=0,"0",A2/B2)//为空  //判断为空的话用isnull()或len($$$)=0。

 5、连续多个单元格和

  sum(M6:M8)

2、动态间隔运算

1、聚合报表块间的运算

2、逻辑函数:and ,if ,or ,bitnot,bitoperation,reverse,switch

  1)AND(logical1,logical2,…):当所有参数的值为真时,返回TRUE;当任意参数的值为假时,返回FALSE。 Logical1,logical2,…:指1到30个需要检验TRUE或FALSE的条件值。

  2) if(expr1, expr2, expr3):如果expr1为true,返回expr2,否则返回expr3

    if(ISNULL(SJ0011~C8),0,K8/SJ0011~C8),如果SJ0011块的C8单元格为空,则为0,不然计算K8/SJ0011~C8

  3) OR(logical1,logical2,…): 当所有参数的值为假时,返回FALSE;当任意参数的值为真时,返回TRUE  

    if(OR(SJ0011~D10=0,I8=0),0,I8/SJ0011~D10)

  4)多个条件 :${if(LEN(xzqbm_1)==0||LEN(xzqbm_1)==4," "," and t.xzqbm like '"+xzqbm_1+"%'")}

  4)switch(表达式, 值1, 结果1, 值2, 结果2, ...)

  如果表达式的结果是值1,整个函数返回结果1
  如果表达式的结果是值2,整个函数返回结果2
  如果表达式的结果是值3,整个函数返回结果3

3、如何从数据集/数据库获取字段,再进行相关计算

1)从数据集获取:http://help.finereport.com/doc-view-850.html

2)直接从数据库获取:http://help.finereport.com/doc-view-846.html

例子:content等于单元格B2的内容

  条件等于单元格:sum(DR_SJ_003_YHJ.select(YHJ,item="cs" && content=B2))

无法支持模糊查询:如 sum(DR_SJ_003_YHJ.select(YHJ,item = "大类" && type="子类" && content like "%测试" )),得到回复 :目前公式只能识别 常规算式运算符

改用:sum(sql("你的数据连接","select YHJ from table where item='大类' and type='子类' and content like '%测试' ",1))

4、当前单元格值 $$$

  当前单元格没有值

  len($$$)=0

二、插入斜线

遇到问题:本地插入的斜线无法对齐,不知道 是不是版本问题,有待检查,服务 器上可以对齐,有些字体无法识别为乱码,暂时设置的宋体。

原文地址:https://www.cnblogs.com/michellexiaoqi/p/8375996.html