页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

(本文档仅供参考,仅适用于本文档中的示例报表/场景,若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。)


问题描述:

电子表格报表实现根据参数值切换控制sheet页的显示或隐藏

...

参考示例:

如下图电子表格示例,有4个sheet页分别为,有一个参数发货区域(参数备选值有东北、华北....)。

Image Added

参考宏代码,选中报表鼠标右键进入宏管理页面,新建客户端模块,对象:spreadsheetReport 、 事件:onParamValueChanged

Image Added

将下述代码复制再根据实际情况修改即可

代码块
languagejava

//ClientSide 对象 spreadsheetReport 事件 onParamValueChanged
function main(spreadsheetReport, param) {
    // var hideSheets = ['数据1', '数据2']; //数组里边写需要隐藏的sheet页名称
    var value = spreadsheetReport.getParameterValue("产品类别发货区域");//实际参数名称
    var hideMaps = {
        "饮料东北": "数据1Sheet1",//参数名:sheet页名
        "华北": "Sheet2",
        "点心华东": "数据2Sheet3",
    }; //数组里边写需要隐藏的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 = '';
        }
    }
}

效果:

View file
nameQQ2024629-15717-HD.mp4
height250