反馈已提交

网络繁忙

引擎API

  • 文档创建者:lu123
  • 历史版本:24
  • 最近更新:RosieY 于 2022-01-14
  • 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 是不适配的。

    222

    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

    附件列表


    主题: 二次开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持