El siguiente código muestra cómo descargar los datos de los usuarios en un archivo CSV. el problema es que la salida de los datos dentro del CSV no está organizada.
archivo app.js
app.get('/export-csv',function(req,res){ db.query("SELECT * FROM users", function (err, users, fields) { if (err) throw err; console.log("users:"); const jsonUsers = JSON.parse(JSON.stringify(users)); //console.log(jsonUsers); // -> Convert JSON to CSV data const csvFields = ['id', 'name', 'shopCode','region']; const json2csvParser = new Json2csvParser({ csvFields }); const csv = json2csvParser.parse(jsonUsers); //console.log(users); res.setHeader("Content-Type", "text/csv"); res.setHeader("Content-Disposition", "attachment; filename=users.csv"); res.status(200).end(csv); }); });¿Qué me estoy perdiendo, cómo organizar los datos dentro de CSV?
Prueba en lugar de
const csvFields = ['id', 'name', 'shopCode','region']; const json2csvParser = new Json2csvParser({ csvFields }); const csv = json2csvParser.parse(jsonUsers);A
var fields = ['id', 'name', 'shopCode','region']; var fieldNames = ['Id', 'Name', 'ShopCode','Region']; var csv = json2csv({ data: docs, fields: fields, fieldNames: fieldNames }); e instale json2csv npm. Espero que funcione.