Skip to content

Instantly share code, notes, and snippets.

@ludo6577
Last active April 20, 2021 10:22
Show Gist options
  • Save ludo6577/2a83d8e34a1735c79da9 to your computer and use it in GitHub Desktop.
Save ludo6577/2a83d8e34a1735c79da9 to your computer and use it in GitHub Desktop.
ExtJs grid export to csv javascript
function exportToCSV(separator, includeHidden) {
var text = "";
//Columns
//var grid = Ext.getCmp("@Model.Id");
var columns = grid.columnManager.columns;
var columnsCount = columns.length;
for (var i = 0; i < columnsCount; i++) {
if (includeHidden || !columns[i].hidden) {
text += columns[i].text + separator;
}
}
text = text.substring(0, text.length-1);
text += "\r";
//Row
var rows = this.store.data.items;
var rowsCount = rows.length;
for (var i = 0; i < rowsCount; i++) {
var row = rows[i].data;
for (var j = 0; j<columnsCount; j++) {
if (includeHidden || !columns[i].hidden) {
var value = row[columns[j].dataIndex];
text += "\"" + value + "\"" + separator;
}
}
text = text.substring(0, text.length-1);
text += "\r";
}
return encodeURIComponent(text);;
}
@alex9311
Copy link

Thanks for sharing! On line 20 shouldn't it be !columns[j].hidden instead of !columns[i].hidden

@calldharm
Copy link

does this export data on file or do we need to do something else to get that done. A working example will be very helpful, if you could. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment