在上一篇中,我介绍了如何为订单列表生成透视表,用来根据员工编号来统计订单数量。.
上图是最终做好的效果,背后其实也就区区几行代码而已。接下来我们将看一下如何基于这个透视表,进一步生成透视图,对数据进行可视化。
这部分的代码如下。这里用到的对象有 worksheet, pivotTable,chart等。
function main(workbook: ExcelScript.Workbook) {
let chartSheet = workbook.addWorksheet("透视图");
let pivotTable = workbook.getPivotTable("透视表1");
let chart = chartSheet.addChart(ExcelScript.ChartType.columnStacked,pivotTable.getLayout().getRange());
chart.getTitle().setText("Orders by Employee");
chart.getAxes().getCategoryAxis().getTitle().setText("Employee");
chart.setTop(10);
chart.setLeft(10);
chart.setWidth(300);
chart.setHeight(300);
chartSheet.activate();
}
如上代码,其实略显累赘,有些地方还可以优化,例如针对chart对象,有没有更加简写的方式呢?
例如setTop这种方法,如果能继续返回chart对象,就可以实现链式访问,就如jQuery的那样。有机会的朋友,可以了解 jQuery chain 这方面的知识。
这应该是Office Scripts这套接口可以优化的地方。