本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
在电子表格中,图形的宽度和高度是固定的,当数据量较多时,图形显示可能会不太美观。如下:
可通过宏代码动态修改图形的高度,以达到更美观的效果。如下:
数据量少时:
数据量多时:
类型 | 对象 | 事件 |
---|---|---|
ServerSide | spreadsheetReport | onBeforeOutput |
function main(spreadsheetReport) { var sheet = spreadsheetReport.workbook.worksheets.get(0); //获取需要动态设置高度的图形,"图表 1"是图形名称 var shape = sheet.shapes.get("图表 1"); var cells = sheet.cells; //图形的数据在第二个sheet,获取第二个sheet var sheet1 = spreadsheetReport.sheets[1]; //图形上的数据系列是第二个sheet的B3和C3字段,获取该数据列字段数据扩展数据的数量 var PosList = sheet1.getExpandedPositions("B3"); //判断数据数量多少,动态设置图形高度 if (PosList.length > 0 && PosList.length < 5) shape.setHeight(200); else shape.setHeight(300); } |
资源下载:migrate.xml