Skip to content

Commit

Permalink
csv export failed when using tab as field separator
Browse files Browse the repository at this point in the history
  • Loading branch information
hhurz committed Aug 3, 2015
1 parent 35cd5a3 commit 1f28bdb
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 39 deletions.
40 changes: 25 additions & 15 deletions tableExport.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,17 +65,23 @@
if (defaults.type == 'csv' || defaults.type == 'txt') {

// Header
var tdData = "";
var csvData = "";
var rowIndex = 0;
$(el).find('thead').first().find(defaults.theadSelector).each(function () {
tdData += "\n";
trData = "";
ForEachVisibleCell(this, 'th,td', rowIndex,
function (cell, row, col) {
tdData += csvString(cell, row, col) + defaults.csvSeparator;
trData += csvString(cell, row, col) + defaults.csvSeparator;
});
trData = $.trim(trData).substring(0, trData.length - 1);
if (trData.length > 0) {

if (csvData.length > 0)
csvData += "\n";

csvData += trData;
}
rowIndex++;
tdData = $.trim(tdData);
tdData = $.trim(tdData).substring(0, tdData.length - 1);
});

// Row vs Column
Expand All @@ -85,33 +91,37 @@
function (cell, row, col) {
trData += csvString(cell, row, col) + defaults.csvSeparator;
});
if (trData.length > defaults.csvSeparator.length)
tdData += "\n" + trData;
trData = $.trim(trData).substring(0, trData.length - 1);
if (trData.length > 0) {

if (csvData.length > 0)
csvData += "\n";

csvData += trData;
}
rowIndex++;
//tdData = $.trim(tdData);
tdData = $.trim(tdData).substring(0, tdData.length - 1);
});

tdData += "\n";
csvData += "\n";

//output
if (defaults.consoleLog === true)
console.log(tdData);
console.log(csvData);

if (defaults.outputMode === 'string')
return tdData;
return csvData;

if (defaults.outputMode === 'base64')
return base64encode(tdData);
return base64encode(csvData);

try {
var blob = new Blob([(defaults.type == 'csv' ? '\ufeff' : '') + tdData], {type: "text/" + (defaults.type == 'csv' ? 'csv' : 'plain') + ";charset=utf-8"});
var blob = new Blob([(defaults.type == 'csv' ? '\ufeff' : '') + csvData], {type: "text/" + (defaults.type == 'csv' ? 'csv' : 'plain') + ";charset=utf-8"});
saveAs(blob, defaults.fileName + '.' + defaults.type);
}
catch (e) {
downloadFile(defaults.fileName + '.' + defaults.type,
'data:text/' + (defaults.type == 'csv' ? 'csv' : 'plain') + ';charset=utf-8,' + (defaults.type == 'csv' ? '\ufeff' : '') +
encodeURIComponent(tdData));
encodeURIComponent(csvData));
}

} else if (defaults.type == 'sql') {
Expand Down
Loading

0 comments on commit 1f28bdb

Please sign in to comment.