I am trying to convert an Array of Arrays of Objects into a CSV file. I am getting an empty CSV file when I run my Code. I think I messed up my Loop but cant find the mistake.
function exportCSVFile(headers, items, fileTitle) {
var jsonResultsString = JSON.stringify(jsonResults);
var csv = this.ConvertToCSV(jsonResultsString);
var exportedFilename = fileTitle + '.csv' || 'export.csv'
var blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
if (navigator.msSaveBlob) {
navigator.msSaveBlob(blob, exportedFilename);
} else {
var link = document.createElement("a");
if (link.download !== undefined) {
var url = URL.createObjectURL(blob);
link.setAttribute("href", url);
link.setAttribute("download", exportedFilename);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
}
var headers = {
delivery: 'Liefertag',
name: 'Brotname',
processed: 'Status',
quantity: 'Menge-Soll',
runningIndex: 'runningIndex',
type: 'Typ'
};
function ConvertToCSV(objArray) {
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
var str = '';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
if (line != '') line += ','
line += array[i][index]
}
str += line + '\r\n';
}
return str;
}
My Array is looking like: this