反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

引擎API

  • 文档创建者:lu123
  • 历史版本:25
  • 最近更新:RosieY 于 2022-01-16
  • 1. 概述

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

    FineReport 开放了一些后台接口供应用开发人员进行深入的开发与控制。想要使用这些接口,首先必须了解 FineReport 内核结构。如下图所示:

    修改后版本.png

    Finereport 报表分两个基本面,模板和结果,没有执行过的工作薄或者报表就是模板,而执行过后就是结果。

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

    了解了以上内核架构后,就可以通过 API 直接后台修改和设置模板。

    如获取到 CellElement 之后,通过 CellElement 的属性设置单元格的前景、背景、边框、字体、字号等;每个 WorkSheet 中可以添加,删除单元格;设置每个 sheet 的页面属性;给每个 sheet 中添加图表悬浮元素等;对 WorkBook 进行执行获得结果并导出成各种格式、可以进行打印、添加工具栏等。

    本章提供了一些常用的后台接口和示例,用户可以参考使用,来满足自己对产品的一些开发需求。如下图所示:

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

    2. 索引

    2.1 报表数据源

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

    2.2 报表调用

    在程序中可以新建一个报表对象,也可以直接读取一个 cpt 模板,新建或读取后,您可以对报表对象的单元格属性、Web 属性、参数、页面设置等多个属性进行控制,可以自由控制单元格的显示样式、工具栏的按钮等。经过处理的报表最终可以导出成多种形式,可以保存为程序网络报表在 Web 端直接访问。详细内容可参考:程序网络报表

    2.3 自定义函数

    FineReport 提供了大量的自带函数来满足用户的报表制作需求,但是在一些特殊场景,可能需要一些特殊的函数,在这种情况下,FineReport 提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数。详细内容可参考:自定义函数

    2.4 报表导出

    FineReport 提供了强大的输入输出功能,所有的这些输入输出的类都在 com.fr.report.io 包里面。用户可以通过编译 Java 程序调用工程资源后台将模板导出成 cpt 、内置数据 cpt 、PDF 、Excel 、Word 、SVG 、CSV 、image (包含 png 、 jpg 、gif 、bmp )等多种文件格式。详细内容可参考:导出API

    附件列表


    主题: 二次开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526