一直以来,FineReport的自定义函数都只能通过函数管理器来添加,需要手动去放置class文件,操作起来相对比较麻烦,也很难在用户之间进行共享,现在从最新版的V8.0开始,在插件中提供自定义函数的接口,可以把自定义函数当成插件一样进行安装、更新和删除,提升便捷性。
这个例子比较简单,就是根据某位大神做的自定义获取客户端IP地址的函数,来写的插件,这个例子本身不重要,重要的是,你终于不用给其他用户发送一个class文件让他自己去配置自定义函数了,有良好实现的的函数插件,完全可以变成非常有价值的插件。
插件源码:https://coding.net/u/fanruan/p/p ... ter/plugin-funtions
设计器中使用方式:在单元格里面输入 =ip(sessionID),其中sessionID是内置参数,必须要传递
插件使用截图:
插件的xml描述
- <?xml version="1.0" encoding="UTF-8" standalone="no"?><plugin>
- <id>com.fr.plugin.function.collection</id>
- <name><![CDATA[自定义函数集合]]></name>
- <active>yes</active>
- <version>1.0</version>
- <env-version>8.0</env-version>
- <jartime>2015-09-10</jartime>
- <vendor>finereport</vendor>
- <description><![CDATA[自定义函数插件]]></description>
- <change-notes><![CDATA[无]]></change-notes>
- <extra-core>
- <FunctionDefineProvider class="com.fr.plugin.function.collection.Concat" name="concat"/>
- <FunctionDefineProvider class="com.fr.plugin.function.collection.GetIp" name="ip"/>
- </extra-core>
- <extra-report/>
- <extra-designer/>
- <extra-platform>
- </extra-platform>
- </plugin>
复制代码 编辑于 2017-9-5 11:12
|