Javascript 谷歌可视化数据表到CSV下载

Javascript 谷歌可视化数据表到CSV下载,javascript,json,google-chrome,google-visualization,Javascript,Json,Google Chrome,Google Visualization,长时间浸泡后,添加到堆栈溢出 我所拥有的: 谷歌可视化产品 从数据库或表中读取并加载到datatable中的数据 Datatable用于创建Google可视化图形 按钮或链接到“下载到CSV”,我需要按照 数据的当前配置。即,经过所有处理和 更改,包括控件 现在我想使用带有文件名的datatable(全局)按下downloadCSV javascript函数。 我已经从一个线程的答案下载代码 我希望人们会觉得这很有帮助 乌鸦 //从[Visualization:Area Chart][2]

长时间浸泡后,添加到堆栈溢出

我所拥有的:

  • 谷歌可视化产品
  • 从数据库或表中读取并加载到datatable中的数据
  • Datatable用于创建Google可视化图形
  • 按钮或链接到“下载到CSV”,我需要按照 数据的当前配置。即,经过所有处理和 更改,包括控件
现在我想使用带有文件名的datatable(全局)按下downloadCSV javascript函数。 我已经从一个线程的答案下载代码

我希望人们会觉得这很有帮助

乌鸦


//从[Visualization:Area Chart][2]中提取的初始零件
load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
var数据;
函数绘图图(){
data=google.visualization.arrayToDataTable([
[“年度”、“销售额”、“费用”],
['2004',  1000,      400],
['2005',  1170,      460],
['2006',  660,       1120],
['2007',  1030,      540]
]);
变量选项={
标题:“公司业绩”,
hAxis:{title:'Year',titleTextStyle:{color:'red'}
};
var chart=new google.visualization.AreaChart(document.getElementById('chart_div'));
图表绘制(数据、选项);
}
//附加代码
函数下载CSV(文件名){
jsonDataTable=data.toJSON();
var jsonObj=eval(“(“+jsonDataTable+”)”);
输出=JSONObjtoCSV(jsonObj,,);
}
函数JSONObjtoCSV(jsonObj,文件名){
filename=filename | |“download.csv”;
变量主体=“”;变量j=0;
var columnObj=[];var columnLabel=[];var columnType=[];
var columnRole=[];var outputLabel=[];var outputList=[];

对于(var i=0;i我将添加一种稍微简单的方法将google表导出到CSV。您可以使用google可视化api。假设您的范围中有一个名为
dataTable
的google表。然后使用以下代码将其作为.CSV下载

代码:

$('#Export').click(function () {
        var csvFormattedDataTable = google.visualization.dataTableToCsv(dataTable);
        var encodedUri = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csvFormattedDataTable);
        this.href = encodedUri;
        this.download = 'table-data.csv';
        this.target = '_blank';
    });
说明:

这里#Export是一个锚元素,在页面中设置为

google.visualization.dataTableToCsv()
完成将表格对象重新格式化为csv的所有艰苦工作。有关详细信息,请访问

这里我使用的是jQuery选择器
$
。如果您想在没有jQuery的情况下执行此操作,请替换
$('#Export')。单击(function(){//function definition Here.});
document.getElementById(“Export”)。onclick=function(){//function definition Here};

通过上述方法返回csv格式的数据后,我们利用
download
属性将数据下载为csv文件,文件名为
table data
(您可以随意命名)


重要提示:
download
属性在回答此问题时不受Internet Explorer支持。这已通过Google Chrome和Mozilla Firefox进行了测试。有关更多信息。

对于从Google图表获取数据,我不确定具体细节,但可以通过@asgallant works进行。可能有一种方法可以通过过滤数据来实现这一点,但t我还没聪明到能弄明白。希望他能分享他的见解。小更新:检查兼容性:(简历:仍然是IE ko)
google.visualization.dataTableToCsv()