你的位置:首页 > 软件开发 > Java > 关于报表自定义函数的应用

关于报表自定义函数的应用

发布时间:2016-09-13 15:00:07
很多报表工具都自带大量的函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,报表工具FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数,满足用户的自定义需求。但这些函数必须FineReport函数 ...

关于报表自定义函数的应用

很多报表工具都自带大量的函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,报表工具FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数,满足用户的自定义需求。但这些函数必须FineReport函数定义规则。以下以两个实际案例来仔细详解。

应用一:生成UPC条形码

FineReport中自带有EAN型编码,但却没有UPC条形码,但是可以通过自定义函数引用第三方包来生成UPC编码的条形码并显示出来。如输入数值12345678912,将会得到以下UPC条形码:

关于报表自定义函数的应用

具体步骤怎么实现?

1、 编写自定义函数

  • 导入第三方包

eclipse中导入第三方包(barcode4j-light.jar,可在帆软论坛上下载),barcode4j是一款开源的条形码生成库,能够生成很多种编码的条形码,包括UPC码。自定义函数中可以直接调用该包中现成的方法来生成UPC条形码。

  • 自定义函数类

新建一个类Upc,完整代码如下:

package com.fr.function;import java.awt.image.BufferedImage;import org.krysalis.barcode4j.impl.upcean.UPCABean;import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;import org.krysalis.barcode4j.tools.UnitConv;import com.fr.script.AbstractFunction;public class Upc extends AbstractFunction {	public Object run(Object[] args) {		if (args == null || args.length < 1) {			return "参数不对,必须有一个参数";		}		try {			// 创建一个UPC编码生成器			UPCABean bean = new UPCABean();			// 设置条形码高度,BufferedImage.TYPE_BYTE_BINARY代表常量值12,可直接使用常量值			final int dpi = Integer.parseInt(args[1].toString());			bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi));			bean.doQuietZone(false);			BitmapCanvasProvider canvas = new BitmapCanvasProvider(dpi,					BufferedImage.TYPE_BYTE_BINARY, false, 0);			// 创建条形码			bean.generateBarcode(canvas,args[0].toString());			canvas.finish();			// 返回图片显示  			return canvas.getBufferedImage();		} catch (Exception e) {			e.printStackTrace();		}		return args[0];	}}

2、 编译自定义函数

编译Upc.java生成Upc.class文件,拷贝至报表环境目/WebReport/WEB-INF/classes/com/fr/function下;

将第三方包barcode4j-light.jar放在报表环境目录/WebReport/WEB-INF/lib文件夹下。

3、 注册自定义函数

启动设计器,点击服务器|函数管理器,新增函数取名为Upc,选择Upc.class类,如下图:

关于报表自定义函数的应用

2、 编译自定义函数

将编译后的Ubm.class放到FineReport的安装目录WEB-INF下面的classes目录下,因为Ubm.java属于包com.fr.function,所以Ubm.class需要放到classes\com\fr\function目录下。

3、 注册自定义函数

生成该函数的类后需要在设计器中进行注册,才可以使用该函数。打开服务器|函数管理器选择刚刚定义好了Ubm类,如下图

关于报表自定义函数的应用

4、 使用自定义函数

注册号自定义函数后,制作报表时便可直接使用了,使用方法与内置的函数是相同的。输入公式=Ubm("%u5357%u4EAC-%u57CE%u5317")运行如下:

关于报表自定义函数的应用

原标题:关于报表自定义函数的应用

关键词:函数

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。