关于数据可视化:比excel更好用的免费拖拽报表JimuReport-144新特性

116次阅读

共计 1807 个字符,预计需要花费 5 分钟才能阅读完成。

积木报表 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. 预览工具条显示数据总条数

为了更不便的显示数据,在预览工具条中显示数据的总条数。

  • 实现成果

附录 更多体验

  • 体验地址:http://jimureport.com/
  • 文档地址:http://report.jeecg.com/

正文完
 0