示例说明
在电子表格的导出按钮中,提供多个导出选项,如HTML、EXCEL、CVS等。有时候希望只保留某一些选项,可通过宏代码控制实现。
版本及客户端说明
1.smartbi版本:最新版本
2.客户端:PC
3.浏览器:IE11、谷歌浏览器(Chrome)、火狐浏览器(Firefox)
设置方法
1.创建电子表格
首先在电子表格设计器(Microsoft Office Excel)中,创建电子表格报表。
2.进入宏界面
在浏览器的“分析展现”节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面。
3.创建客户端宏
在报表宏界面新建客户端模块。在弹出的新建模块对话框中,选择对象为spreadSheetReport、事件为onRenderReport、并把下面宏代码复制到代码编辑区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRenderReport |
宏代码
代码块 | ||||
---|---|---|---|---|
| ||||
function main(spreadsheetReport) {
//旧方法备份
spreadsheetReport._initExportMenu_new = spreadsheetReport.initExportMenu;
//重写方法
spreadsheetReport.initExportMenu = function() {
spreadsheetReport._initExportMenu_new();
this.exportMenu.removeItem("CSV"); //屏蔽CSV
this.exportMenu.removeItem("HTML"); //屏蔽HTML
this.exportMenu.removeItem("PNG"); //屏蔽PNG
this.exportMenu.removeItem("PDF"); //屏蔽PDF
this.exportMenu.removeItem("WORD"); //屏蔽WORD
//this.exportMenu.removeItem("EXCEL2007"); //屏蔽EXCEL
}
} |
2、实现点击导出按钮直接导出excel
重写导出按钮事件,实现点击按钮直接导出excel文件。
代码块 | ||||
---|---|---|---|---|
| ||||
function main(spreadsheetReport) {
//旧方法备份
spreadsheetReport._initExportMenu_new = spreadsheetReport.initExportMenu;
//重写方法
spreadsheetReport.initExportMenu = function() {
spreadsheetReport._initExportMenu_new();
this.exportMenu.removeItem("CSV"); //屏蔽CSV
this.exportMenu.removeItem("HTML"); //屏蔽HTML
this.exportMenu.removeItem("PNG"); //屏蔽PNG
this.exportMenu.removeItem("PDF"); //屏蔽PDF
this.exportMenu.removeItem("WORD"); //屏蔽WORD
//this.exportMenu.removeItem("EXCEL2007"); //屏蔽EXCEL
}
spreadsheetReport.old_doExport = spreadsheetReport.doExport;
spreadsheetReport.doExport = function() {
/*this.old_doExport();
this.exportMenu.panel.style.height = "";*/
//上面是高度自适应,下面是点击直接调用导出excel
this.doExportMenuCloseUp("EXCEL2007");
//若是清单报表:this.doExportMenuCloseUp("LIST_EXCEL");
}
} |
宏示例资源:电子表格屏蔽导出按钮中的选项.xml
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |