我正在使用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_”定义为生成的文件中的货币,然后进行格式化和显示。
任何帮助将不胜感激。
答案 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.js
或accounting.js
之类的内容,但现在请尝试:
function toCurrency(value){
return '$' + value;
}
导出插件的完整文档位于:https://github.com/amcharts/export
希望有所帮助。