Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

前言

在插件开发中,某些时候需要对结果报表做一些操作,以实现自定义的展示需求。在插件开发中,某些时候需要对结果报表做一些操作,以实现自定义的展示需求,比如给结果报表增加新的悬浮元素等。

开发过程

我们以分页预览为例,首先来看一下分页预览从发起请求到最后响应给浏览器端展示HTML的过程。

...

一般来说,只需要重载getResultBookFromCacheIfNeed方法就可以实现修改结果报表的目的了。

示例代码

Code Block
title修改ModifyActor
public class ModifyActor extends PageActor {

    @Override
    @Override
public ResultWorkBook getResultBookFromCacheIfNeed(TemplateWorkBook tpl, String tplPath, ReportCache reportCache, Map parameterMap, int sheetIndex) {
        ResultWorkBook wb = super.getResultBookFromCacheIfNeed(tpl, tplPath, reportCache, parameterMap, sheetIndex);
        doModifymodifyWorkBook(wb);
        return wb;
    }
    
    private void modifyWorkBook(ResultWorkBook wb) {
        // 修改结果报表的具体实现
    }
}

接入点注册

Code Block
<extra-report>
   <WebActor class="com.fr.plugin.demo.ModifyActor"/>
</extra-report>