(本文档仅供参考,仅适用于本文档中的示例报表/场景,若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。)
问题描述:
电子表格报表实现根据参数值切换控制sheet页的显示或隐藏
参考示例:
如下图电子表格示例,有4个sheet页分别为,有一个参数发货区域(参数备选值有东北、华北....)。
参考宏代码,选中报表鼠标右键进入宏管理页面,新建客户端模块,对象:spreadsheetReport 、 事件:onParamValueChanged
将下述代码复制再根据实际情况修改即可
//ClientSide 对象 spreadsheetReport 事件 onParamValueChanged function main(spreadsheetReport, param) { var value = spreadsheetReport.getParameterValue("发货区域");//实际参数名称 var hideMaps = { "东北": "Sheet1",//参数名:sheet页名 "华北": "Sheet2", "华东": "Sheet3", }; //数组里边写需要隐藏的sheet页名称和对应参数 var sheetNames = spreadsheetReport.visibleSheetNames; var removeSheetName = hideMaps[value]; var row = spreadsheetReport.sheetsTable.rows[0]; if (removeSheetName) { for (var j = 0; j < row.cells.length; j++) { if (row.cells[j]._sheetName != removeSheetName) { row.cells[j].style.display = 'none'; } else { row.cells[j].style.display = ''; } } }else{//未选择隐藏参数则显示所有 for (var j = 0; j < row.cells.length; j++) { row.cells[j].style.display = ''; } } }
效果: