-
-
Save pilate/1477368 to your computer and use it in GitHub Desktop.
/** | |
* Convert an instance of google.visualization.DataTable to CSV | |
* @param {google.visualization.DataTable} dataTable_arg DataTable to convert | |
* @return {String} Converted CSV String | |
*/ | |
function dataTableToCSV(dataTable_arg) { | |
var dt_cols = dataTable_arg.getNumberOfColumns(); | |
var dt_rows = dataTable_arg.getNumberOfRows(); | |
var csv_cols = []; | |
var csv_out; | |
// Iterate columns | |
for (var i=0; i<dt_cols; i++) { | |
// Replace any commas in column labels | |
csv_cols.push(dataTable_arg.getColumnLabel(i).replace(/,/g,"")); | |
} | |
// Create column row of CSV | |
csv_out = csv_cols.join(",")+"\r\n"; | |
// Iterate rows | |
for (i=0; i<dt_rows; i++) { | |
var raw_col = []; | |
for (var j=0; j<dt_cols; j++) { | |
// Replace any commas in row values | |
raw_col.push(dataTable_arg.getFormattedValue(i, j, 'label').replace(/,/g,"")); | |
} | |
// Add row to CSV text | |
csv_out += raw_col.join(",")+"\r\n"; | |
} | |
return csv_out; | |
} |
Great post!! Very usefull. Thanks
Thanks for a nice utility. Another way to download the result directly from the browser is by using data URI's: http://stackoverflow.com/a/7588465
👍
How to use above function..?
Thanks in advance.
I can't get downloaded. Please help me.
olmomp thanks .
Can i ask you something? .
if *.csv fiel open then xEF, xBB, xBF not in the *.csv file.
so i want the hexstring to add .
I opened the excel(windows) charset is unknow. ^^;
Can you tell me how do we integrate both sets of code on the drawToolbar where for CSV we have to give a URL?
Very nice, appreciate that~
it raise a bug when table has multi pages.
so i change "raw_col.push(dataTable_arg.getFormattedValue(i, j, 'label').replace(/,/g,""));"
like this
"raw_col.push(dataTable_arg.getFormattedValue(i, j).replace(/,/g,""));"
and it work
i remove "label",i think it no use.
https://developers.google.com/chart/interactive/docs/reference
Great Post.
Thanks, that's perfect! Loads of posts on Google with unsuccessful attempts of getting this done;)
In case someone is looking for a quick way to have $browser download the result: