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


(本文档仅供参考)

问题说明

 在浏览器中查看电子表格数据是完整的,但是当报表导出PDF时候,发现单元格数据内容较多的时候被截断了,导致显示不完整。


解决方案

 
通常情况下,这种问题是可以通过调整设置和宏代码辅助,参考文档: 电子表格-设置自动换行后excel端打印效果与浏览器端打印效果不一致

但是由于上述实例资源中插入了图片,不适合用宏去<统一>控制所有行都有自适应行高的效果,如果对所有行都实现自适应行高,这样会改变报表中某些行的行高效果,影响报表最终效果;

因此,还是推荐 用下面的宏,去控制<部分>单元格有自适应行高的效果;例如,如下宏中指定部分单元格。
后续有调整电子表格样式,需要根据实际情况去调整代码。

 


 
function main(spreadsheetReport) {
 //ccce
    var options = Packages.com.aspose.cells.AutoFitterOptions();
    var posList1 = spreadsheetReport.sheets[0].getExpandedPositions("A5");
    var posList2 = spreadsheetReport.sheets[0].getExpandedPositions("A9");
    var posList3 = spreadsheetReport.sheets[0].getExpandedPositions("A24");
    var posList4 = spreadsheetReport.sheets[0].getExpandedPositions("A28");
    for(var i=0;i<posList1.length;i++){
        var pos = posList1[i];
        spreadsheetReport.workbook.worksheets.get(0).autoFitRow(pos.row);
    }
    for(var i=0;i<posList2.length;i++){
        var pos = posList2[i];
        spreadsheetReport.workbook.worksheets.get(0).autoFitRow(pos.row);
    }
    for(var i=0;i<posList3.length;i++){
        var pos = posList3[i];
        spreadsheetReport.workbook.worksheets.get(0).autoFitRow(pos.row);
    }
    for(var i=0;i<posList4.length;i++){
        var pos = posList4[i];
        spreadsheetReport.workbook.worksheets.get(0).autoFitRow(pos.row);
    }
}
 


 
        

 

Viewtracker License Missing

There is a problem with the license of the Viewtracker addon. Please check if you have a valid license.

授权码细节


  • 无标签

评论

  1. 何阳波 发表:

    另一种方案:

    function main(spreadsheetReport) {
    var sheet = spreadsheetReport.workbook.worksheets.get(0);
    var cells = sheet.getCells();
    var colCount = cells.getMaxColumn();
    var posList1 = spreadsheetReport.sheets[0].getExpandedPositions("D8");
    for (var i = 0; i < posList1.length; i++) {
    var pos = posList1[i];
    sheet.autoFitRow(pos.row, 0, colCount);
    }
    }