【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
无
在导出需求的个性化处理中,并非所有的个性化都是要重新导出一种新的文件格式,或者对所有的现有导出逻辑都全部重来一次。部分用户需要的仅仅是对部分导出逻辑进行调整即可满足需求,帆软对这类场景提供了一系列的接口针对性的对导出的细分和细节进行处理。而ExcelExportCellValueProvider接口就是其中之一,允许开发者在导出excel的时候,对导出的值进行处理。
ExcelExportCellValueProvider接口主要用于导出值的格式转换,比如 10000转换成 1万。
/* * 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); }
产品线 | 版本 | 支持情况 | 备注 |
---|---|---|---|
FR | 8.0 | 支持 | |
FR | 9.0 | 支持 | |
FR | 10.0 | 支持 | |
BI | 3.6 | 支持 | |
BI | 4.0 | 支持 | |
BI | 5.1 | 支持 | |
BI | 5.1.2 | 支持 | |
BI | 5.1.3 | 支持 |
<extra-core> <ExcelExportCellValueProvider class="your class name"/> </extra-core>
接口作用于整个导出流程的最底层,那么如果我们定制其他插件导出excel时使用了上层的接口处理。导致整个导出excel的流程没有调用到AbstractExcelExporter#evalCellValue方法,则需要手动在单元格值即将写入excel时进行该接口的调用,否则容易引起冲突。
因为多个导出excel修改值接口可以在同一次导出中生效,所以开发者在使用该接口时需要自行判断哪些值是需要修改的。
demo地址:demo-excel-export-cell-value
com.fr.report.fun.ExcelExportAppProvider
免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。