FineReport模板设计器(帆软报表)之函数使用

文章详细介绍了Excel中的SUM、COUNT、AVERAGE等常见函数的使用方法和注意事项,并提供了示例。同时,阐述了SQL函数在数据库查询中的应用,包括如何直接获取数据库内容以及处理参数。此外,还讲解了TOIMAGE函数在报表中显示图片的功能及其应用场景。

一、常用函数

1、SUM-求和

1)概述

在这里插入图片描述

2)注意事项

函数将直接键入参数中的数值、逻辑值及文本表达式计算在内。若参数是数组或引用,则只有数组或单元格引用中的数值进行计算。

3)示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、COUNT-求个数

1)概述

在这里插入图片描述

2)注意事项

数字、日期或以文字代表的数字参数将被计算在内。
无法转换成数字的错误值或文本值参数将忽略不计。
数组或引用参数中包含可解析文本值、逻辑值、零值或空白单元格,这些值都将参与计算
数组或引用参数中包含不可解析的文本值,将忽略不计。

3、AVERAGE-求平均值

1)概述

在这里插入图片描述

2)注意事项

参数必须是数字,或是含有数字的名称,数组或引用。
如果数组或引用参数中含有文字,逻辑值,默认参与计数,countString 为 false 则不参与计数。
空单元格不参与计数。
单元格中的零值参与计数。

3)示例

如果A1:A6被命名为ages,分别等于10,23,文字,29,33及25,则:
在这里插入图片描述

4、CHAR-返回字符

1)概述

在这里插入图片描述

2)示例

在这里插入图片描述

5、DATE-转化日期

1)概述

在这里插入图片描述

2)注意事项

若需要处理公式中日期的一部分,如年或月等,则可用此公式。
若年,月和日是函数,而不是函数中的常量,则此公式最能体现其作用。

3)示例

在这里插入图片描述

6、MAX-求最大值

1)概述

在这里插入图片描述

2)注意事项

参数可以是数字、空白单元格、逻辑值或表示数值的文本表达式。
数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算。
数组或引用参数中包含不可解析的文本值,将忽略不计。
如果参数中没有任何数字,MAX 将返回0。

3)示例

在这里插入图片描述

7、TIME-返回时间日期

1)概述

在这里插入图片描述

2)示例

在这里插入图片描述

8、RANGE-返回数组

1)概述

在这里插入图片描述

2)示例

在这里插入图片描述

二、SQL函数

1. 概述

1.1 函数作用

数据集函数 能够从数据集中直接进行条件取数,但是有的时候用户希望某个单元格能够直接获取到数据库中的某个值,而不是先要定义一个数据集后,再去取数据。
这时就可以用 SQL 函数。

1.2 函数解释

在这里插入图片描述
注:行序号可以省略,这样返回值为数据列。

1.3 注意事项

仅支持查询 sql 语句。

2. 取数据库中不带参数的指定内容

示例数据:内置数据库 FRDemo 中的 STSCORE 数据表。
从内置数据库「FRDemo」里的 STSCORE 表取第三行第三列数据值。
从表 STSCORE 中,可看到第 3 行第 3 列的值为 Alex,如下图所示:

在这里插入图片描述

在这里插入图片描述

现在若要直接在报表的单元格中显示数据值:Alex,而不是通过先定义一个数据集后,再去取数据的方式,使用 sql() 公式,此时只需在单元格中输入:=sql(“FRDemo”,“SELECT * FROM STSCORE”,3,3)即可,预览就可看到 Alex 值,如下图所示:

在这里插入图片描述

3. 取数据库中带有参数的指定内容

示例数据:内置数据库 FRDemo 中的 STSCORE 数据表。

3.1 SQL 参数为普通参数

需要取出班级为 Class1 的第 3 列所有值。
在单元格中输入:=sql(“FRDemo”,"SELECT * FROM STSCORE where CLASSNO = ‘Class1’ ",3),显示效果(班级为 Class1 的第 3 列所有值),如下图所示:

在这里插入图片描述
公式说明:
在这里插入图片描述

若需要显示某个具体值,如显示 Jonny (即班级为 Class1 的第 3 列第 4 行的值),写法如下:
=sql(“FRDemo”,"SELECT * FROM STSCORE where CLASSNO = ‘Class1’ ",3,4)

3.2 SQL 参数为变量

若参数值为变量如为报表参数或者是某个单元格,则写法如下:=sql(“FRDemo”,“SELECT * FROM STSCORE where CLASSNO = '”+ c l a s s + " ′ " , 3 , 4 ) 或 = s q l ( " F R D e m o " , " S E L E C T ∗ F R O M S T S C O R E w h e r e C L A S S N O = ′ " + A 1 + " ′ " , 3 , 4 ) 例如希望过滤控件选择不同班级,显示不同班级下所有的同学的名字。首先设置模板参数「 c l a s s 」,然后在单元格中输入公式: = s q l ( " F R D e m o " , " S E L E C T ∗ F R O M S T S C O R E w h e r e C L A S S N O = ′ " + class+"' ",3,4) 或=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+A1+"' ",3,4) 例如希望过滤控件选择不同班级,显示不同班级下所有的同学的名字。 首先设置模板参数「class」,然后在单元格中输入公式:=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+ class+"",3,4)=sql("FRDemo","SELECTFROMSTSCOREwhereCLASSNO="+A1+"",3,4)例如希望过滤控件选择不同班级,显示不同班级下所有的同学的名字。首先设置模板参数「class」,然后在单元格中输入公式:=sql("FRDemo","SELECTFROMSTSCOREwhereCLASSNO="+class+"’ ",3),如下图所示:

在这里插入图片描述
在这里插入图片描述
显示效果如下图所示:
在这里插入图片描述

如果传递的参数是获取当前单元格的值,即用 $$$ 作为参数时,字符串类型同样需要拼接单引号,例如:

=sql(“FRDemo”,“SELECT * FROM STSCORE where CLASSNO = '”+$$$+"’ ",3,4)

注1:如果参数或者单元格值有多个,那么 SQL 函数的写法如下:=sql(“FRDemo”,“SELECT * FROM STSCORE where CLASSNO in ('”+ c l a s s + " ′ ) a n d C O U R S E i n ( ′ " + class+"') and COURSE in ('"+ class+")andCOURSEin("+COURSE+"') ",3,4)

3.3 SQL 参数为变量且需要拼接

在 SQL 中还可以使用 IF 函数进行判断并拼接模板参数,例如希望实现当参数 class 为空时,选择全部学生姓名,可输入公式:

=sql(“FRDemo”,“SELECT * FROM STSCORE where 1=1 “+if(len(class)== 0,””,“and CLASSNO = '”+class+“'”),3)
在这里插入图片描述
公式说明:
在这里插入图片描述
如果在 SQL 中参数为模糊查询时,可使用如下公式:

=sql(“FRDemo”,“SELECT * FROM STSCORE where CLASSNO like '%”+$class+"%’ ",3,4)

4、实战

加入数据库查询及参数
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
选择数据集及数据列即可

一、TOIMAGE函数显示单元格图片

1. 概述

1.1 版本

在这里插入图片描述

1.2 函数作用

TOIMAGE 函数用于在报表中显示某一路径下的图片。支持 jpg、png、bmp 常用格式的图片,图片可以存储在本地磁盘,也可以存储在远程服务器,也可以为网页中图片。

1.3 函数解释

TOIMAGE(path),显示指定路径下的图片。此处默认开启了图片缓存功能以加速报表的生成.如不需要缓存,请在参数后面追加值FALSE。
在这里插入图片描述

示例:
TOIMAGE(“D:/1.jpg”)
TOIMAGE(“D:/1.jpg”,false)
TOIMAGE(“D:/1.jpg”,true,200,300)
TOIMAGE(“D:/1.jpg”,true,“50%”,“200%”)

1.4 注意事项

1)使用 TOIMAGE 函数显示单元格图片的模板,在选择菜单栏「文件>输出>模板(内置数据)」时,图片不会伴随输出。
2)若使用 TOIMAGE 函数的单元格属性设置了「样式>段间距」,那么导出或打印报表时,设置的「段间距」不生效。
3)使用 TOIMAGE 函数返回的图片,「图片布局」为「默认」。可以在「单元格属性>样式>对齐>图片布局」处选择其他布局方式。
4)不支持模拟计算,模拟计算详情参见:2.4节。
5)不支持 gif 格式。

2. 应用场景

TOIMAGE 函数中可以直接输入图片路径,也可以引用存储在数据库的图片路径字段。

2.1 直接输入

图片可以存储在本地磁盘,也可以存储在远程服务器上。图片存储的位置不同,path 路径的写法不同。
在这里插入图片描述

2.2 引用数据库中的字段

1)若图片存储在本地磁盘 E 盘,路径为:E:/图片/logo-fanruan.png,将图片路径存在数据库表中,如下图所示:
在这里插入图片描述
2)将字段「path」拖到报表单元格中,右侧单元格属性选择「高级」,在「显示值」位置,输入公式 TOIMAGE($ ) , ), )$ 表示当前单元格值,步骤如下图所示:
在这里插入图片描述
3)若存储在数据库的图片路径不完整,需要补全路径使图片显示。
如上述 E 盘中的图片,若在数据库中存储的路径为 :logo-fanruan.png ,需要将「显示值」的公式修改为 :TOIMAGE(“E:/图片/”+$$$) 。
注:如果用户数据库服务器和报表应用服务器分开的话,图片应该存放在报表应用服务器上,而不是数据库服务器上。

3、toimage使用截图

图片在数据库中储存:在插入含图片路径的数据列中点击高级可如下所示
在这里插入图片描述
点击F(x),下图是函数写法
在这里插入图片描述
在数据库查询中新建一个查询查出图片存储位置再进行拼接即可
在这里插入图片描述
以上是小编toimage()函数的用法,具体截图就不展示了,感兴趣的朋友可以去帆软官网的帮助文档查看其他函数。

<think> 我们正在处理关于帆软报表frm模板下载的问题。根据引用[1],我们知道帆软提供了大屏BI模板下载,并且提到了下载链接(尽管在引用[1]中并没有直接给出链接,但提到了下载链接的存在)。同时,引用[1]还提到了下载后需要放在帆软目录里,并且需要下载扩展图表插件。 但是,用户明确询问的是frm模板的下载。在引用[3]中提到了“帆软报表-frm报表”,并且展示了一段JavaScript代码,用于实现报表块作为标题的下划线特效。这表明frm报表是帆软报表的一种文件格式(类似于FineReport模板文件)。 然而,提供的引用中并没有直接给出frm模板的下载链接。引用[1]中提到的下载链接是针对“帆软大数据BI绚丽报表”的,它可能包含frm模板,但也不确定。 我们需要考虑如何帮助用户下载frm模板。根据帆软产品的常规使用,我们可以推测: 1. 帆软官网可能提供模板下载。 2. 帆软帮助文档中可能有相关资源。 由于引用[1]提到了“帆软大数据BI绚丽报表”的下载链接(尽管没有给出具体链接),我们可以建议用户去帆软官网的模板库或资源中心查找。 另外,根据引用[1]的提示,下载的模板需要放在帆软目录里,并且需要下载扩展图表插件,本地预览免费使用。 因此,我们可以这样回答: - 建议用户访问帆软官网的资源中心或模板库,搜索frm模板。 - 提醒用户下载后需要将模板放在帆软安装目录的指定位置。 - 如果需要,下载并安装扩展图表插件。 由于引用中没有直接给出frm模板的下载链接,我们只能提供一般性指导。 同时,我们注意到引用[2]和[3]是关于帆软报表的操作和样式设置的,与下载模板关系不大,但可以用于后续使用模板时的参考。 因此,回答如下: </think> 基于您提供的引用信息和需求,以下是关于下载帆软报表FRM模板的解决方案: ### 1. **官方模板下载途径(引用[1])** - 访问帆软官方资源库:[帆软大数据BI绚丽报表下载](https://download.csdn.net/) - 筛选条件选择`FRM报表模板`,下载后需将文件放入帆软安装目录的指定位置(通常为`webapps/webroot/ReportServer/reportlets`) - **重要**:模板需配合[扩展图表插件](https://help.finebi.com/)使用,本地预览免费 ### 2. **模板使用注意事项** - **序号处理(引用[2])**: - 模板中的序号使用`SEQ()`函数实现,例如单元格内输入`=SEQ(1)` - 需在单元格属性中正确设置**左父格**,否则会导致序号显示异常 ```java // 示例:设置A2单元格的左父格为B1 A2.setLeftParent(B1); ``` - **样式定制(引用[3])**: - 标题下划线特效通过CSS实现,可直接复制以下代码到模板样式设置: ```css .sideline:before{ content: ""; width:100%; height:2px; background:radial-gradient(#2AFCF5 -10%, #090e27 100%); } ``` ### 3. **替代资源渠道** - **帆软市场**:官网→资源中心→[模板商城](https://market.fanruan.com/) - **CSDN资源库**:搜索关键词`帆软FRM模板`,注意选择带预览图的资源 - **GitHub开源项目**:部分开发者共享的模板仓库(如`FineReport-Templates`) > 提示:所有官方模板均依赖FineReport设计器运行,建议先[下载设计器](https://www.fanruan.com/products/finereport)[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值