gpt4 book ai didi

node.js - sails js 上的 CSV 响应

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:07 25 4
gpt4 key购买 nike

我正在使用 sails js http://sailsjs.org/#!documentation我想响应一个 csv 文件作为数据库查询的结果,如下所示:

module.exports = {
csv: function (req, res) {

Model.query("select * from somewhere ", function(err, list){
if (err) console.log(err);
// Send a CSV response
return res.csv(list);
});
},
_config: {}

};

这可能吗?

我已经尝试过:

csv: function (req, res) {

Model.query("select * from somewhere ", function(err, list){
if (err) console.log(err);

var objArray = list;
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;

var str = '';
var line = '';

var head = array[0];
for (var index in array[0]) {
var value = index + "";
line += '"' + value.replace(/"/g, '""') + '",';
}

line = line.slice(0, -1);
str += line + '\r\n';

for (var i = 0; i < array.length; i++) {
var line = '';

for (var index in array[i]) {
var value = array[i][index] + "";
line += '"' + value.replace(/"/g, '""') + '",';
}

line = line.slice(0, -1);
str += line + '\r\n';
}
res.setHeader('Content-disposition', 'attachment; filename=testing.csv');
res.writeHead(200, { 'Content-Type': 'text/csv' });
res.write(str);
return res;
});
}

但这包括“解析”,“_typeCast”

最佳答案

var json2csv = require('json2csv');
var moment = require('moment');

module.exports = {
csv: function (req, res) {

MyModel.query("select id, name, email from MyModel", function(err, list){
if (err) console.log(err);
// Send a CSV response
var config = {
fields : ['id','name', 'email'],
data: list
};

json2csv(config, function(err, csv) {
if (err) console.log(err);
var filename = "report-" + moment().format("YYYY-MM-DD") + ".csv";
res.attachment(filename);
res.end(csv, 'UTF-8');
});

});
},
_config: {}
}

关于node.js - sails js 上的 CSV 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24045313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com