页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题说明:

        参照wiki:电子表格隐藏sheet页,实现电子表格隐藏sheet后,发现当sheet过多的时候,存在【更多】的时候。该宏代码也会把更多里面的sheet页给隐藏掉。如下图所示:


解决方案:

        这个是因为此前的宏代码未考虑存在sheet页有【更多】的场景,可以通过修改成下方宏代码解决:

/*
对象:spreadsheetReport;
事件:onRenderReport
*/
function main(spreadsheetReport) {
    
    var hideSheets = ["sheet1","sheet2"]; //数组里边写需要隐藏的sheet页名称
    debugger;
    for (var k = 0; k < hideSheets.length; k++) {
        var removeSheetName = hideSheets[k];
        for (var i = 0; i < spreadsheetReport.visibleSheetNames.length; i++) {
            if (spreadsheetReport.visibleSheetNames[i] == removeSheetName) {
                var row = spreadsheetReport.sheetsTable.rows[0];
                for (var j = 0; j < row.cells.length; j++) {
                    if (row.cells[j]._sheetName == removeSheetName) {
                        row.removeChild(row.cells[j]);
                        // break;
                    }
                }
                spreadsheetReport.visibleSheetNames.splice(i, 1);//删除
                spreadsheetReport.webShowSheetNames.splice(i, 1); 
            }
        }

    }
    spreadsheetReport.selectedSheetTd = spreadsheetReport.sheetsTable.rows[0].cells[0];
}
  • 无标签