1. 程式人生 > 其它 >比excel更好用的免費拖拽報表—JimuReport 1.4.4新特性

比excel更好用的免費拖拽報表—JimuReport 1.4.4新特性

積木報表1.4.4版本在1.4.0穩定版本的基礎上解決一系列bug,做了一些重要升級工作,重點穩定健壯功能。例如解決安全漏洞、解決靜態資源衝突及添加了一些新功能。

1.解決靜態資源載入衝突

使用其他框架的朋友經常會遇到靜態資源衝突的問題,此版本重點解決了這個問題。

2.嚴重安全漏洞修復

當有SQL注入時,提示會有SQL注入風險,如:insert、update、delete、alter、drop等表結構及資料操作均不允許操作。

  • 效果展示

3.支援pdf匯出換行

很多朋友反饋亟需pdf匯出換行功能,此版本實現了該功能。

4.支援自定義表示式

當現有表示式不滿足需求時,我們可以使用自定義表示式來實現。

  • 首選定義表示式
import com.googlecode.aviator.runtime.function.AbstractFunction;
import com.googlecode.aviator.runtime.type.AviatorObject;
import com.googlecode.aviator.runtime.type.AviatorRuntimeJavaType;
import org.jeecg.modules.jmreport.desreport.express.ExpressUtil;
import java.util.Map;

/**
 * 定義函式:
 * 1.定義getName方法,返回一個字串
 * 2.如果函式引數個數已知,繼承AbstractFunction,重寫call方法,call是一個多型方法,引數AviatorObject arg可以傳多個
 * 3.如果函式引數個數未知,繼承AbstractVariadicFunction,重寫variadicCall方法
 **/
public class UpcaseFun extends AbstractFunction {

    @Override
    public String getName() {
        return "upCase";
    }
	
    @Override
    public AviatorObject call(Map<String, Object> env, AviatorObject arg1) {
        // 引數用此方法獲取 數字也這麼獲取 然後自己轉
        String str = ExpressUtil.getArgString(arg1, env);
        return AviatorRuntimeJavaType.valueOf(str.toUpperCase());
    }
}
  • 登錄檔達式
import com.googlecode.aviator.AviatorEvaluatorInstance;
import org.jeecg.modules.jmreport.desreport.express.IJmExpressCustom;
import org.springframework.stereotype.Component;

/**
 * 註冊函式:
 * 1.新增類註解@Component
 * 2.實現介面 IJmExpressCustom,重寫方法 addFunction
 * 3.instance.addFunction(fun.getName(), fun);
 * 4.如果是運算函式(如:加減乘除),呼叫instance.addOpFunction
 */
@Component
public class JmExpressCustomImpl implements IJmExpressCustom {

    @Override
    public void addFunction(AviatorEvaluatorInstance instance) {
        UpcaseFun fun = new UpcaseFun();
        instance.addFunction(fun.getName(), fun);
        //OtherFun fun1 = new OtherFun ();
        //instance.addFunction(fun1.getName(), fun1);
    }
}
  • 使用表示式

5.同一報表支援多個迴圈塊

  • 5.1 實現效果

6.支援saas配置

此版本支援saas配置;在yaml檔案中配置saas為true即可,如下圖:

7.預覽工具條顯示資料總條數

為了更方便的顯示資料,在預覽工具條中顯示資料的總條數。

  • 實現效果

附錄 更多體驗