如何基于报表工具FineReport进行二次开发.pdf
如何基于报表工具FineReport进行二次开发
随着FineReport的发展,它提供的设计器和服务器应该能够满足绝大部分的需求,完全实现
零编码的软件开发、革命性地加快软件的开发以及提高软件的稳定性。但是需求千变万化,
而FineReport本身所具备的功能是报表中比较典型的,一些比较有个性的功能无法实现,那
么就需要应用开发人间使用网页脚本、API接口等进行深入的开发,而这一点,FineReport
报表工具是支持的,那么如何来实现插件开发呢?
Ant打包
Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通
过一个简易的方式来构建整个项目。其中一些比较典型的任务就是编译java源代码、运行
java程序、拷贝文件或目录、将编译完成的类打包等等。具体的使用方法如下:
1、下载安装Ant
到官网上下载最新的Ant,这里下载的是apache-ant-1.9.7-bin.zip
下载完成后进行解压,这里解压到D:\apache-ant
2、配置环境变量
新建环境变量:ANT_HOME:D:\apache-ant
在环境变量PATH的最后面添加一下内容:
;%ANT_HOME%\bin注意前面的分号,如果PATH最后没有分号“;”的话要加上,有的话就
可去除
进入cmd命令窗口,在CMD窗口中输入ant-version,敲击回车键,会显示出安装的ANT
版本,说明配置成功了
3、简单Ant编译
首先在D:\plugins-git盘下建立一个build.xml文件,内容如下:
?xmlversion1.0?
projectnamehelloWorld
targetnamesayHelloWorld
echomessageHello,Amigo/
/target
/project
进入xml文件路径,运行antsayHelloWorld,如下:
4、进行插件打包
将源码下载到本地
新增FineReport的jar包,将下图的6个jar包拷贝到lib/report文件夹下
打开bulid.xml文件,根据实际安装的jdk位置修改jdk路径
打开插件,在插件工程目录下执行ant-fbuild.xmljar
将打包好的文件夹打包成.zip文件,这样这个插件就打包完成,可以在设计器上安装了
安装插件
安装完成后,如下图:
安装完成后,可以在公式编辑器中的【函数类型】下看到插件函数了,插件函数里有一些常
用的函数如下图:
插件开发实例
1、自定义导出插件
默认的报表工具栏中只能设置Excel导出、Word导出以及PDF导出,如下图所示。如果想
导出CSV、TXT等文件就比较麻烦,只能利用自定义按钮来实现。
在FineReportV8.0中提供了工具栏按钮的接口,可以通过此接口来开发插件,实现各种工
具栏按钮的功能
关键接口
//国际化文件引入接口
com.fr.stable.fun.LocaleFinder
//web端工具栏按钮扩展接口
com.fr.report.fun.ExtensionButtonProvider
//导出处理扩展接口
com.fr.report.fun.ExportOperateProvider
//设计器中工具栏设置中工具栏按钮扩展接口
com.fr.design.fun.ToolbarItemProvider
插件工程结构
实现过程
实现关键的几个接口。主要类如下所示对于的piugin.xml中的部分配置
com.fr.plugin.export.csv.core.CsvExport
com.fr.plugin.export.csv.core.CsvExtensionButton
com.fr.plugin.export.csv.ui.CsvExportToolbarUI
com.fr.plugin.export.csv.CsvLocaleFinder
打包插件
在插件目录执行下面的命令,或者直接点击build.bat批处理文件(注意修改JDK路径)
ant-fbuild.xmljar
安装插件后,在web属性配置界面就可以添加csv导出按钮了,
这个时候在浏览器上预览报表,就可以看到菜单栏上的csv导出按钮,点击就会把当前的报
表导出成为csv文件。
2、自定义函数插件开发
在使用FineRepo