历史版本22 :引擎API 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 基本知识编辑

FineReport 设计器与服务器已经能够满足大部分的需求,但某些个性化需求可能无法实现,这时就需要通过二次开发的方式来实现这些需求。

FineReport 开放了一些 API 接口供应用开发人员进行深入的开发与控制。想要使用 API 的进行二次开发,首先必须掌握一些基本的概念,如了解 FineReport 内核结构。如下图所示,是基本的内核结构。

修改后版本.png

Finereport 开发分两个基本面,模板和结果,没有执行过的工作薄或者报表就是模板,而执行过后就是结果。6.5 中模板与结果是分离的(6.5 之前不分离)。

设计器中新建一个工作薄就是建了一个 WorkBook,WorkBook 相当于一个容器,里面可以放任意个 WorkSheet,就相当于在设计器的一个工作薄中新建了多个 sheet。每个 WorkSheet 是由任意个单元格 CellElement 组成,因此 CellElement是一个模板的最小元素。我们获得 WorkBook 后,必须取得其中的某个 WorkSheet 才能对这个报表中的 CellElement 进行操作。

由于每个部分各自包含了很多属性,比如可以通过 CellElement 设置单元格的前景、背景、边框、字体、字号等;又比如每个 WorkSheet 中可以添加,删除单元格、可以设置每个 sheet 的页面属性、可以给每个 sheet 中添加图表悬浮元素等;再比如可以对 WorkBook 进行执行获得结果并导出成各种格式、可以进行打印、添加工具栏等。因此,FineReport 提供了丰富的 API 接口供程序员进行调用,对报表进行深入的开发,来实现其个性化的需求。

本文提供 FineReport 软件的相关接口,方便用户在产品原有基础上增加或修改功能,来满足自己对产品的一些需求。

2. 开放的 API编辑

FineReport 软件的相关接口,一般分报表部分、决策平台部分、移动端部分、图表部分。具体请参考:API 接口文档  、API 接口介绍

注:文档中提供的 FineReport 相关 API 接口,对 FineBI 是不适配的。

3. 示例说明编辑

报表部分,FineReport 主要有以下功能点开放给用户进行深入二次开发。

222

3.1 报表数据源

FineReport 设计器本身已经提供了数据库数据源、文本数据源、XML 数据源等多种数据来源方式,同时程序员还可以通过Java 程序自行生成数据来源,只要实现了 AbstractTableData 抽象类,FineReport 报表引擎就能够读取用户自定义的数据源。具体示例可参考:程序数据源


3.2 输入输出报表

在程序中可以新建一个报表对象,也可以直接读取一个 cpt 模板,新建或读取后对模板进行处理,经过处理的报表最终可以导出成多种形式,可以保存为程序网络报表在 Web 端直接访问,也可以导出为 Excel、PDF、Word、cpt 等多种格式文件。具体示例可参考:程序网络报表


3.3 自定义填报

FineReport 开放的填报 API 接口,能够根据自己的需要来定义填报入库方式,通过填报接口,您可以往数据库中保存用户的操作日志、您可以在填报成功与失败时进行各种处理等等。


3.4 设置单元格属性及报表属性

您可以对报表对象的单元格属性、Web 属性、参数、页面设置等多个属性进行控制,可以自由控制单元格的显示样式、工具栏的按钮、参数面板的展示、参数的赋值等等,全方位地实现您的个性化需求。