【仅供内部供应商使用,不提供对外解答和培训】
| Table of Contents |
|---|
无
在导出需求的个性化处理中,并非所有的个性化都是要重新导出一种新的文件格式,或者对所有的现有导出逻辑都全部重来一次。部分用户需要的仅仅是对部分导出逻辑进行调整即可满足需求,帆软对这类场景提供了一系列的接口针对性的对导出的细分和细节进行处理。而CommentExcelProcessor接口就是其中之一,允许开发者在导出excel的时候,对导出的每个sheet进行单独的处理。帆软报表产品中允许用户自行对导出文件类型进行扩展,一般会配合ToolbarItemProvider接口在设计器上添加工具栏选项。而ExtensionButtonProvider接口则对应的用于报表自带的导出菜单按钮的选项扩展。
CommentExcelProcessor接口在设计时的主要用途是对excel的批注进行导入导出处理,导出批注内容或利用批注辅助导入。在实际运用的过程中,因为接口带入了整个sheet报表和,excel的sheet页,使得接口的实际用途变得更广泛一些,可以用于对导出的excel每个sheet做单独调整,比如折叠树支持导出、导出控件数据字典,设置单元格只读等等场景。
| Code Block | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
package com.fr.report.fun;
import com.fr.form.ui.Widget;
import com.fr.stable.fun.mark.Mutable;
import com.fr.stable.xml.XMLable;
/**
*
* @author focus
* @date Jul 1, 2015
* @since 8.0
* 导出菜单接口,用于添加其他的导出方式,菜单目前只支持两级目录
*
*/
public interface ExtensionButtonProvider extends XMLable, Mutable{
int CURRENT_LEVEL = 2;
String XML_TAG = "ExtensionButtonProvider";
/**
* 导出菜单的实现类,该类可以继承自com.fr.form.ui.ToolBarMenuButton 或者 com.fr.form.ui.ToolBarButton;
* @return 控件类
*/
Class<? extends Widget> classForDirectoryButton();
/**
* 父目录
* @return 父目录名称
*/
String getParentDirectory();
/**
* 本层目录名称
*
* @return 同上
*/
String getType();
/**
* 菜单项在设计器端对应的checkbox名称(用以控制是否在web端显示)
*
* @return 同上
*/
String getRelatedCheckBoxTitle();
/**
* 该目录是否在web段显示
*
* @return 同上
*/
boolean isSelected();
/**
* 设置目录是否在web端显示
*
* @param isSelected 是否显示
*/
void setSelected(boolean isSelected);
}
|
产品线 | 版本 | 支持情况 | 备注 |
|---|---|---|---|
| FR | 8.0 | 支持 | |
| FR | 9.0 | 支持 | |
| FR | 10.0 | 支持 | |
| BI | 3.6 | 支持 | 不支持BI的仪表板 |
| BI | 4.0 | 支持 | 不支持BI的仪表板 |
| BI | 5.1 | 支持 | 不支持BI的仪表板 |
| BI | 5.1.2 | 支持 | 不支持BI的仪表板 |
| BI | 5.1.3 | 支持 | 不支持BI的仪表板 |
| Code Block | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
<extra-report>
<CommentExcelProcessor<ExtensionButtonProvider class="your class name"/>
</extra-report> |
...
该接口涉及到对报表对象的各种操作,需要对报表对象结构本身有一定的了解。在demo示例中,给出了一些基本的方法,可以作为参考。更多的报表对象结构知识,会在其他章节中进行详细的介绍
demo地址:demo-commentextension-excel-processor
com.fr.report.fun.ExportOperateProvider
com.fr.report.fun.ExportExtensionProcessor
com.fr.stable.fun.ExcelExportCellValueProvider
com.fr.form.stable.FormExportProcessor
com.fr.report.fun.ExcelExportAppProvider
com.fr.io.exporter.PDFExporterCreator
com.fr.report.fun.FormatActionProviderbutton-provider
免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。
...