Estoy tratando de generar un archivo csv usando el siguiente código.
function generaBlue() { var taula = $("#divTaula")[0].childNodes; var id = taula[0].getAttribute("id"); console.log(id.substr(0, id.indexOf("_"))); let table = $("#" + id.substr(0, id.indexOf("_"))).DataTable(); let data = table.rows().data(); let text = ""; data.map((row) => (text += row.join(";") + "\n")); let blob = new Blob([text], { type: "text/csv;charset=utf-8" }); saveAs(blob, "prova.csv"); }Y row.join(';') está devolviendo este error:
TypeError: row.join no es una función
El problema era que estaba recibiendo una serie de objetos que no aceptaban la función de unión.
function generaBlue() { var taula = $("#divTaula")[0].childNodes; var id = taula[0].getAttribute("id"); console.log(id.substr(0, id.indexOf("_"))); let table = $("#" + id.substr(0, id.indexOf("_"))).DataTable(); let data = table.rows().data(); let text = data.reduce((a, c) => a + Object.values(c).join(";") + "\n", ""); let blob = new Blob([text], { type: "text/csv;charset=utf-8" }); saveAs(blob, "prova.csv"); }