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

(本文档仅供参考)

问题说明

 宏示例:如何写宏删除线上展示时扩展数据中的边框。

解决方案

 以下是删除扩展数据边框的示例,以供参考,不同报表样式需对代码另做修改调整,若是此示例不符合项目实际应用场景,可详细描述需求发回以便进一步分析评估能否通过定制实现;

 示例的excel设计图:

 


类型

对象

事件

ClientSide

spreadsheetReport

onRender

/**
 * 说明:此示例数据列为B列,A列为空白列,C列也为空白,仅供参考,实际报表样式需另作调整
 * 类型:ClientSide
 * 对象:spreadsheetReport
 * 事件:onRender
 */ 
function main(spreadsheetReport, isAjaxRefreshCallback) {
    
    var PosList = spreadsheetReport.getExpandedPositions("B5"); //根据B5单元格扩展出来的所有单元格
    if(PosList.length>0){
        for(var i=0;i<PosList.length;i++){
                var colIndex=spreadsheetReport.parseCellIndex(PosList[i])[1]; //获取列号
                var rowIndex=spreadsheetReport.parseCellIndex(PosList[i])[0]; //获取行号
                
                //设置A列右边框线的粗细为0,即为不显示边框线,如果不设置,则B5的左边框线还是会显示
                spreadsheetReport.getCell(rowIndex,colIndex-1).style.borderRight="0px";
                
                spreadsheetReport.getCell(PosList[i]).style.borderTop="0px";
                spreadsheetReport.getCell(PosList[i]).style.borderLeft="0px";
                spreadsheetReport.getCell(PosList[i]).style.borderRight="0px";
                spreadsheetReport.getCell(PosList[i]).style.borderBottom="0px";
            }
        
    }
}

类型

对象

事件

ServerSide

spreadsheetReport

onBeforeOutput

/**
 * 类型:ServerSide
 * 对象:spreadsheetReport
 * 事件:onBeforeOutput
 */ 
function main(spreadsheetReport) {
    spreadsheetReport.printExpandedPositions();
}

实现效果:


  • 无标签