导出amCharts时格式化货币

时间:2016-10-20 02:06:38

标签: format export xlsx amcharts

我正在使用amCharts 3.20.9,我很好地绘制了一个图表并可能将数据导出到XLSX文件中。但是,我导出的其中一列是货币,有没有办法在生成的文件中设置这样的格式?

我对图表的脚本是:

regexp_replace(d.NAME, '[.,/#!$%^&*;:{}=_`~()-]')

其中:

图包含图形定义,如:

var chart = AmCharts.makeChart("graph", {
        "type" : "serial",
        "theme" : "light",
        "dataProvider" : data,
        "valueAxes" : [ {
            "stackType": "regular",
            "gridColor" : "#FFFFFF",
            "gridAlpha" : 0.2,
            "dashLength" : 0,
            "title" : "Metros cúbicos"
        } ],
        "gridAboveGraphs" : true,
        "startDuration" : 1,
        "graphs" : graphs,
        "chartCursor" : {
            "categoryBalloonEnabled" : false,
            "cursorAlpha" : 0,
            "zoomable" : false
        },
        "categoryField" : "formatedTime",
        "categoryAxis" : {
            "gridPosition" : "start",
            "gridAlpha" : 0,
            "tickPosition" : "start",
            "tickLength" : 20,
            "parseDates" : false,
            "labelsEnabled": true,
            "labelFrequency": 3
        },
        "export" : {
            "enabled" : true,
            "fileName" : "Reporte",
            "exportTitles" : true,
            "exportFields" : fields,
            "columnNames" : columnNames,
            "menu" : [ {
                "class" : "export-main",
                "menu" : [ "PDF", "XLSX" ]
            } ]
        }
    });

字段:[“formatedTime”,“Viva Villavicencio”,“Viva Villavicencio_COST _”]

columnNames:{“formatedTime”:“Fecha”,“Viva Villavicencio”:“Metroscúbicospara:Viva Villavicencio”,“Viva Villavicencio_COST_”:“Costo para:Viva Villavicencio”}

到目前为止,我的xlsx包含了正确的数据,但最后我希望将列“Viva Villavicencio_COST_”定义为生成的文件中的货币,然后进行格式化和显示。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

查看processData选项。它需要一个回调函数,允许您在数据集写入导出文件之前对其进行更改。

所以,添加到您的代码中:

"export": {
  "processData": function(data){
    for(var i = 0; i < data.length; i++){
      data[i].Viva Villavicencio_COST_ = toCurrency(data[i].Viva Villavicencio_COST_);
    }
    return data;
  }
  ...
}

此函数像以前一样返回精确数据集,但格式为Viva Villavicencio_COST_字段。

然后,添加函数toCurrency。我不相信amCharts内置了格式化功能。如果您需要更好的格式化功能,可以使用numeral.jsaccounting.js之类的内容,但现在请尝试:

function toCurrency(value){
  return '$' + value;
}

导出插件的完整文档位于:https://github.com/amcharts/export

希望有所帮助。