java报表工具FineReport常用函数的用法及示例

本文以tableName或viewName作为参数因子的。函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。

CLASS

CLASS(object):返回object对象的所属的类。

CNMONEY

CNMONEY(number,unit)返回人民币大写。

number:需要转换的数值型的数。

unit:单位,"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。

备注:

单位可以为空,如果为空,则直接将number转换为人民币大写,否则先将number与单位的进制相乘,然后再将相乘的结果转换为人民币大写。

示例:

CNMONEY(1200)等于壹仟贰佰圆整。

CNMONEY(12.5,"w")等于壹拾贰万伍仟圆整。

CNMONEY(56.3478,"bw")等于伍仟陆佰叁拾肆万柒仟捌佰圆整。

CNMONEY(3.4567,"y")等于叁亿肆仟伍佰陆拾柒万圆整。

COL

COL()返回当前单元格的列号。

示例:

如果当前单元格是A5,在A5中写入"=col()"则返回1。

如果当前单元格是C6,在C6中写入"=col()"则返回3。

COLCOUNT

COLCOUNT(tableData):返回tableData中列的个数。

tableData:tableData的名字,字符串形式的。

备注:

先从私有数据源中查找,然后再从公有数据源中查找,返回的是第一个查找到的tableData中列数。

示例:

以我们提供的数据源FRDemo为例

COLCOUNT("Check")等于6。

COLCOUNT("country")等于5。

COLNAME

COLNAME(tableData,colIndex)返回的是tableData中列序号colIndex的列名。

tableData:表示TableData的名字,字符串形式。

colIndex:表示列序号。

备注:

TableData先从私有数据源中查找,再从公有数据源中查找。

示例:

COLNAME("Check",3)等于AcceName。

COLNAME("country",4)等于Area。

EVAL

EVAL(exp):返回表达式exp计算后的结果。

exp:一个表达式形式字符串。

备注:

只要EVAL中的参数exp最终可以转化成一表达式形式的字符串,比如"sum(2,4)","2+7"等等,那么它就可以被计算。

示例:

EVAL("2+5")等于7。

EVAL("count(2,3)")等于2。

EVAL("sum"+"(2,3,5)")等于10。

EVAL(IF(true,"sum", "count") + "(1,2,3,4)")等于10。

EVAL(IF(false,"sum", "count") + "(1,2,3,4)")等于4。

FIELDS

FIELDS(connectionName,tableName):返回tableName这个表中的所有字段名。

示例:

数据库BASE中有个名叫task的表的内容如下:

namestart end

a2008 2009

b2009 2012

那么FIELDS("BASE","task")等于[name,start,end].

FORMAT

FORMAT(object,format):返回object的format格式。

object:需要被格式化对象,可以是String,数字,Object(常用的有Date, Time)。

format:格式化的样式。

备注:

此处的格式中大小写必须严格按照上面例子中的规则,月份:大写MM,年份小写:yyyy或yy,天份:小写dd.

此处作为参数因子的格式可以用' '也可以用" "引用。

示例:

Format(TODAY(),'yyyy-MM-dd')结果是2008-11-01

INMAP

INMAP(key,value, mapName):判断数据字典mapName中是否包含键值为key,值为value的数据对。返回值为布尔型。有返回TRUE,没有返回FALSE。

key:检测的key。

value:检测的value。

mapName:指定的数据字典名。

备注:

mapName必须为String型的。

示例:

INMAP(1,2, "customerdic")返回 Boolean.TRUE(布尔型的)。

ISNULL

ISNULL(object):判断对象中所有的值是否全部都是Primitive.NULL。

MAP

MAP(key,mapName):返回名字为mapName的数据字典中的key所对应的值。

key:与返回值相应的数据字典中的key。

mapName:指定的数据字典名,注意数据字典名要加引号

示例:

MAP(1,"customername")等于"Yixing HongdaFood Co."。

RECORDS

RECORDS(connection,table,field):返回数据库表table中字段名field下的所有元素。

示例:

数据库BASE中有个名叫task的表的内容如下:

namestart end

a2008 2009

b2009 2012

那么RECORDS("BASE","task","end")等于[2009,2012].

RECORDS(connection,table,field,row)返回table中field字段下的第row行的记录,field可以为列名也可以为列号。

RECORDS("BASE","task","end",2)等于2012.

RECORDS("BASE","task",2,2)等于2009.

REVERSE

REVERSE(value):返回与value相反的逻辑值。

示例:

REVERSE(true)等于false。

ROW

ROW()返回当前单元格的行号

示例:

如果当前单元格为A5,在A5中写入"=ROW()"则返回5。

如果当前单元格为B8,在B8中写入"=ROW()"则返回8。

ROWCOUNT

ROWCOUNT(tableData)返回tableData的行数。

tableData:TableData的名字,字符串形式的。

备注:

先从私有数据源中查找,然后再从公有数据源中查找,返回的是tableData的行数。

示例:

以我们提供的数据源FRDemo为例

ROWCOUNT("Check")等于3。

ROWCOUNT("country")等于18。

TABLEDATAFIELDS

TABLEDATAFIELDS(tableData):返回tableData中所有的字段名。

备注:

先从报表数据集中查找,然后再从服务器数据集中查找,返回的是tableData的列名组成的数组。

示例:

TABLEDATAFIELDS("国家")等于[名字,首都,大陆,面积,人口

TABLEDATES

TABLEDATAS():返回报表数据集和服务器数据集名字。]

示例:

服务器数据集有:ds1,ds2,ds3;报表数据集有dsr1,dsr2.

TABLEDATAS()等于[dsr1,dsr2,ds1,ds2,ds3].

而TABLEDATAS(0)返回服务器数据集名字;TABLEDATAS(1)返回报表数据集名字;

TABLEDATAS(0)等于[ds1,ds2,ds3];TABLEDATAS(1)等于[dsr1,dsr2].

TABLES

TABLEAS(connectionName):返回名为connectionName的数据库中的所有表名。

示例:

假设在FRDemo这个数据库中,有3个表:a,b,c;

那么TABLES("FRDemo")等于[a,b,c].

VALUE

VALUE(tableData,row,col)返回tableData中行号为row,列号为col的值。

tableData:tableData的名字,字符串形式的。

row:行号。

col:列号。

备注:

先从私有数据源中查找,然后再从公有数据源中查找,返回的是tableData的符合条件的值。

示例:

VALUE("country",5,3)等于South America。

VALUE("Simple",8,3)等于jonnason。

时间: 2024-09-19 23:55:53

java报表工具FineReport常用函数的用法及示例的相关文章

java报表工具FineReport使用中遇到的常见报错及解决办法

关于java报表工具FineReport常用函数的用法及示例,请点击.http://www.111cn.net/jsp/Jsp-Servlet/83901.htm (一)  1.address pool is full: 含义:地址池满,连接数超过并发数上限. 解决办法: 若在FineReport的连接池属性的设置中,已将最大连接数设置得过大,还出现如上的报错,此时通常就是数据库进程(processes)达到上限导致的,可增大数据库中的连接数目来解决此问题.如下在数据库中修改最大连接数: Sel

报表工具FineReport使用教程之自动计算日期

  在我们的日常工作中,经常需要制作以一些数据报表,来分析公司的经营业务的情况.而很多网友会选择FineReport这款国际通用的报表软件.今天我们就想为大家介绍一下报表软件这款软件的一些日常操作方法,比如:自动计算日期,一起来了解一下吧! FineReport日期自动计算教程 如上图所示的报表中,多了一个年龄字段,而在数据库中没有这个字段,这就得通过日期的计算获得. 下面我们就来看一下用Java报表工具FineReport实现上述报表的过程. 1.设计报表; 1.1表样设计; 按照下图设计好报

Java报表工具FineRpeort优点与缺点—主流java报表工具评述

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   FineReport作为主流java报表工具,虽然不像润乾报表那样疯狂在网络上发文章宣传,但在产品功能,性能和易用性方面积累,已经成为中国java报表技术领跑者.于是互联网上流行,"南帆软,北润乾".来形容中国java报表市场的格局. 优点之一:类excel的java报表设计器 首先中国报表更多是表的样式,所有用excel这种风格报表设计更加

Java报表工具FineRpeort优点与缺点—主流java报表工具评述【转载】

问题描述 原文转载自:比特网本文网址:FineReport作为主流,虽然不像润乾报表那样疯狂在网络上发文章宣传,但在产品功能,性能和易用性方面积累,已经成为中国java报表技术领跑者.于是互联网上流行,"南帆软,北润乾".来形容中国java报表市场的格局.优点之一:类excel的java报表设计器 首先中国报表更多是表的样式,所有用excel这种风格报表设计更加方便.然后FineReport不像其他报表只是从单元格命名,编辑区格子等形似excel.但FineReport汲取excel简

JAVA报表工具

问题描述 JAVA中有那些报表工具,最流行的是那些??? 解决方案 解决方案二:帮顶,你去google一下..很多的.解决方案三:ireport,开源的老牌了解决方案四:ireport,开源的老牌了呵呵呵解决方案五:jfreechar.....解决方案六:非常感谢!!!解决方案七:FineReport.做财务报表,统计报表.各种各样的报表都挺好用的.解决方案八:ireport我也是刚找了这个来研究解决方案九:用快逸报表吧,我用过,蛮好用的.解决方案十:JFreeChar个人认为容易上手解决方案十

prototype.js常用函数和用法

函数名  解释  举例  Element.toggle  交替隐藏或显示  Element.toggle(''div1'',''div2'')  Element.hide  隐藏  Element.hide(''div1'',''div2'')  Element.show 显示  Element.show(''div1'',''div2'')  Element.remove  删除  Element.remove(''div1'',''div2'')  Element.getHeight  取得

当下最流行的Java报表工具是什么----------------------在线等

问题描述 当下最流行的Java制作报表的工具是什么,有没有大致介绍? 解决方案 解决方案二:顶,没有高手来解答吗?解决方案三:ajax插件解决方案四:引用2楼songsong_love的回复: ajax插件 这个能制作报表?解决方案五:highchart.js解决方案六:fusioncharts解决方案七:IBM的cognos,里面有所有图表,不过有点小贵,很好用解决方案八: 解决方案九:report-online.jar解决方案十:润乾也不错...解决方案十一:您可以自己写报表...解决方案十

基础的prototype.js常用函数及其用法_prototype

prototype.js 常用函数 :   Element.toggle     交替隐藏或显示    Element.toggle(''div1'',''div2'')   Element.hide     隐藏    Element.hide(''div1'',''div2'')   Element.show   显示    Element.show(''div1'',''div2'')   Element.remove     删除    Element.remove(''div1'','

基于PHP常用函数的用法详解_php实例

复制代码 代码如下: <?php//===============================时间日期===============================//y返回年最后两位,Y年四位数,m月份数字,M月份英文.d月份几号数字,D星期几英文$date=date("Y-m-d");$date=date("Y-m-d H:i:s");//带时分秒 //include,include_once.require,require_once//require