【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

一、特殊名词介绍

二、背景、场景介绍

在导出需求的个性化处理中,并非所有的个性化都是要重新导出一种新的文件格式,或者对所有的现有导出逻辑都全部重来一次。部分用户需要的仅仅是对部分导出逻辑进行调整即可满足需求,帆软对这类场景提供了一系列的接口针对性的对导出的细分和细节进行处理。而ExcelExportCellValueProvider接口就是其中之一,允许开发者在导出excel的时候,对导出的值进行处理。

ExcelExportCellValueProvider接口主要用于导出值的格式转换,比如 10000转换成 1万。

三、接口介绍

ExcelExportCellValueProvider.java
/*
 * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved.
 */

package com.fr.stable.fun;


import com.fr.stable.fun.mark.Mutable;
import com.fr.stable.script.CalculatorProvider;

public interface ExcelExportCellValueProvider extends Mutable {
    String XML_TAG = "ExcelExportCellValueProvider";

    int CURRENT_LEVEL = 1;


    Object getCellValue(Object cellElement, Object oriValue, CalculatorProvider ca);
}


四、支持版本

产品线

版本

支持情况

备注

FR8.0支持
FR9.0支持
FR10.0支持
BI3.6支持
BI4.0支持
BI5.1支持
BI5.1.2支持
BI5.1.3支持

五、插件注册

plugin.xml
<extra-core>
        <ExcelExportCellValueProvider class="your class name"/>
</extra-core>

六、原理说明


七、特殊限制说明

接口作用于整个导出流程的最底层,那么如果我们定制其他插件导出excel时使用了上层的接口处理。导致整个导出excel的流程没有调用到AbstractExcelExporter#evalCellValue方法,则需要手动在单元格值即将写入excel时进行该接口的调用,否则容易引起冲突。

因为多个导出excel修改值接口可以在同一次导出中生效,所以开发者在使用该接口时需要自行判断哪些值是需要修改的。


八、常用链接

demo地址:demo-excel-export-cell-value

ExportOperateProvider

ExportExtensionProcessor

FormExportProcessor

com.fr.report.fun.ExcelExportAppProvider

九、开源案例

免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。


  • No labels