finereport报表软件api源代码之程序数据集、自定义函数和导出api

finereport报表软件api源代码之程序数据集、自定义函数和导出api

ID:12101878

大小:477.00 KB

页数:20页

时间:2018-07-15

finereport报表软件api源代码之程序数据集、自定义函数和导出api_第1页
finereport报表软件api源代码之程序数据集、自定义函数和导出api_第2页
finereport报表软件api源代码之程序数据集、自定义函数和导出api_第3页
finereport报表软件api源代码之程序数据集、自定义函数和导出api_第4页
finereport报表软件api源代码之程序数据集、自定义函数和导出api_第5页
资源描述:

《finereport报表软件api源代码之程序数据集、自定义函数和导出api》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、概述随着FineReport的发展,它提供的设计器和服务器应该能够满足您绝大部分的需求,完全实现零编码的软件开发,革命性地加快软件开发速度,提高软件稳定性。但是需求是千变万化的,而FineReport所包含的功能是报表行业中比较普遍的、典型的,也许某些个性化的功能通过FineReport软件无法实现。因此FineReport开放了能够进行二次开发的接口,来更好的满足您软件产品或项目中的个性化的需求。您可以根据该引擎API文档学习各类接口的使用方法,另外若您是一名程序员,且对FineReport报表深感兴趣,希望更深入地

2、了解FineReport软件的内部原理,您也可以阅读该章节。FineReport引擎API文档对如何定义类、编译类文件及JAVA开发平台使用等JAVA基础知识未作介绍,因此在您查看引擎API文档前请确保您有一定的JAVA基础。目录1.程序数据源2.1简单程序数据集2.2带参程序数据集2.自定义函数1233.1自定义函数3.2SubSection函数-Oracle查询参数个数限制3.3自定义函数生产UPC条形码3.导出api注:另有报表调用的相关代码,如有需要可以另行下载。程序数据集简单程序数据集FineReport报表

3、的数据来源可以是数据库数据或是文本数据,并且还可以是其它任何类型的数据,因为FineReport是通过TableData接口来读取数据源的,而上述所有的数据来源都实现了该接口,因此用户只要实现了TableData接口,也就可以用自定义类型的数据源了(程序数据集),FineReport报表引擎就能够读取定义的数据源作为报表数据源使用。TableData接口主要有5个方法,如下://获取TableData的总列数public int getColumnCount();  //获取TableData中第columnIndex

4、列的列名public String getColumnName(int columnIndex); //判断是否存在第rowIndex行,这主要是用于处理超大数据时,完全遍历所有数据获取总行数相当困难,用这个方法来判断第rowIndex行是否存在,存在则可读取public boolean hasRow(int rowIndex);  //获取TableData的总行数public int getRowCount();  //获取TableData中第columnIndex列,第rowIndex行的数据public Ob

5、ject getValueAt(int rowIndex, int columnIndex);  使用程序数据集分为如下三个步骤:在某些应用场景中,需要在程序中对数据进行处理后再作为报表的数据源使用,以下例子即为一个简单的不带参程序数据集ArrayTableData的使用过程,并以此简要说明程序数据集的使用方法。1.   定义程序数据源由之前的概述可知,程序数据集需要实现TableData接口,可以直接继承该接口,实现其5个方法,也可以从AbstractTableData扩展,因为AbstractTableData已经

6、实现了默认的hasRow(introwIndex)方法。     该例中的程序数据集ArrayTableData就是直接从AbstractTableData扩展的,完整代码如下:packagecom.fr.data;importcom.fr.data.AbstractTableData; publicclassArrayTableDataDemoextendsAbstractTableData{      //定义程序数据集的列名与数据保存位置      privateString[]columnNames;     

7、 privateObject[][]rowData;            //实现构建函数,在构建函数中准备数据      publicArrayTableDataDemo(){             String[]columnNames={"Name","Score"};             Object[][]datas={{"Alex",newInteger(15)},{"Helly",newInteger(22)},{"Bobby",newInteger(99)}};             this

8、.columnNames=columnNames;             this.rowData=datas;      }            //实现TableData的其他四个方法,因为AbstractTableData已经实现了hasRow方法      publicintgetColumnCount(){     

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。