页面树结构

版本比较

标识

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

...

代码块
languagejs
title左侧点击链接右侧定位_link
collapsetrue
function main(spreadsheetReport) {
    //左侧报表超链接所在sheet页名称和单元格名称
    var linkCell = "B2";
    var sheetName = "Sheet1";
    if (!spreadsheetReport || (spreadsheetReport.outputType != "refresh" && spreadsheetReport.outputType != "HTML")) return;
    var sheet = spreadsheetReport.getSheetByName(sheetName);
    var positions = linkCell.split(",");
    for (var i = 0; i < positions.length; i++) {
        var position = positions[i].trim();
        var expandedPositions = sheet.getExpandedPositions(position);
        for (var j = 0; j < expandedPositions.length; j++) {
            var cell = sheet.getCell(expandedPositions[j]);
            if (true) {
                addLink(spreadsheetReport, sheet, cell, linkCell);
            }
        }
    }
}
function addLink(spreadsheetReport, sheet, cell, linkCell) {
    sheet.addRuleLink(cell.cellPosition, "anyRuleName", [
        getCellValue(cell.getRelativeCells(linkCell))
    ]);
}
function getCellValue(cell) {
    if (!cell) return null;
    if (typeof cell.length == 'number') {
        var ret = [];
        for (var i = 0; i < cell.length; i++) {
            ret.push(cell[i].value);
        }
        return ret;
    } else {
        return cell.value;
    }
}
function checkValue(v1, v2, op) {
    if (v1 && typeof v1.length == 'number') {
        for (var i = 0; i < v1.length; i++) {
            if (checkValue(v1[i], v2, op)) return true;
        }
        return false;
    }
    if (v2.match(/^d+(.d+)?$/)) {
        v2 = parseFloat(v2);
    }
    switch (op) {
        case 'EQUAL':
            return (v1 == v2) || (v2.match(/^\d+(\.\d+)?$/) && v1 == parseFloat(v2));
        case 'GREATER':
            return v1 > v2;
        case 'LESS':
            return v1 < v2;
        case 'INCLUDE':
            return v1 && v1.indexOf(v2) >= 0;
        case 'PREFIX':
            return v1 && v1.indexOf(v2) == 0;
        case 'SUFFIX':
            return v1 && v1.indexOf(v2) == (v1.length - v2.length);
    }
}

宏类型

类型对象子对象事件
ClientSide左侧报表spreadsheetReportonLinkClick

宏代码