(本文档仅供参考)

问题说明

在excel里面预览是正常的,所有数据都是居左显示

但是发布预览之后,非0数值并没有左对齐




解决方案

该问题是第三方插件的bug,可以通过宏规避

如果是静态数据,可直接通过以下客户端宏来进行规避:


ClientSide    spreadsheetReport   onRender

function main(spreadsheetReport, isAjaxRefreshCallback)
{ var cell = spreadsheetReport.getCell("C5");
cell.firstChild.style.marginLeft = "0px";
cell = spreadsheetReport.getCell("C6");
cell.firstChild.style.marginLeft = "0px";
cell = spreadsheetReport.getCell("C7");
cell.firstChild.style.marginLeft = "0px";
cell = spreadsheetReport.getCell("C8");
cell.firstChild.style.marginLeft = "0px"; }



如果是动态数据,需要结合以下服务端和客户端宏来进行规避:

ServerSide  spreadsheetReport  onBeforeOutput


function main(spreadsheetReport) {
spreadsheetReport.printExpandedPositions();
}


ClientSide   spreadsheetReport   onRender

function main(spreadsheetReport, isAjaxRefreshCallback) {
var posList = spreadsheetReport.getExpandedPositions("C5"); //获取对应的扩展单元格列表
for (var i = 0; i < posList.length; i++) {
var cell = spreadsheetReport.getCell(posList[i]);
if (cell.innerText != 0) {
cell.firstChild.style.marginLeft = "0px";
}
}
}