提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。

需求

在电子表格中一个柱图图形中实现其中的柱图根据数值改色,当柱图数值小于0、大于0的时候是不同的2种颜色。

思路

        1)在excel中创建如下图所示电子表格,并插入Echarts图形,保存发布后,打开客户端

        

2)新建客户端宏

3)宏代码如下,在宏代码中所示设置小于0 的柱图的颜色

function main(chartView) {
    var chart = chartView.getChartObject();
    var options = chart.getOptions();
    var series = options.series;
    var datas = [];
    for (var i in series) {
        if (series[i].type == "bar") {
            debugger;
            datas = series[i].data;
        }
    }
    for (var i in datas) {
        if (parseInt(datas[i].displayValue) < 0) {
            datas[i].itemStyle = datas[i].itemStyle || {};
            datas[i].itemStyle = {
                    "normal": {
                        "color": "#99CC33"
                    }
                }
                //设置小于0的柱图的颜色
        }
    }
}

4)在宏代码中设置的是柱图数值小于0 的柱图显示颜色,对数值大于0的,可以通过电子表格中的产品设置界面设置。

5)最终在客户端显示效果如下