jxls中自定義函數的使用

實現邏輯代碼:

//獲得配置
JexlExpressionEvaluator evaluator = (JexlExpressionEvaluator)transformer.getTransformationConfig().getExpressionEvaluator();
//設置靜默模式,不報警告
evaluator.getJexlEngine().setSilent(true);
//函數強制,自定義功能
Map<String, Object> funcs = new HashMap<String, Object>();
funcs.put("utils", new JxlsUtils());    //添加自定義功能
evaluator.getJexlEngine().setFunctions(funcs);
//必須要這個,否者表格函數統計會錯亂
jxlsHelper.processTemplate(context, transformer);

這裏的utils就是要在excel中使用的函數類名。

JxlsUtils類

public class JxlsUtils {	
    /**
     * 字符串爲空轉換爲特定字符
     * @param target  需要驗證的字符串
     * @param fit     匹配的字符串
     * @param change  匹配成功要轉換的字符串
     */
    public String fitToChange(String target, String fit, String change) {
        if (fit.equals(target)) {
            return change;
        }
        return target;
    }
}

excel模板中使用:

具體頁面操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章