我正在使用nodejs v0.10.26和expressjs。
我想在应用程序中实现CSV格式功能的数据导出,为此我使用node-csv 0.3.7
的 JS
var csv = require('csv');
res.setHeader('Content-disposition', 'attachment; filename=Report.csv');
res.writeHead(200, {'Content-Type': 'text/csv'});
csv().from(callBack).to(res);
但它没有提示任何CSV文件,我只是在服务响应中获取文本数据。
谁能告诉我我的代码有什么问题?在这种情况下我想要CSV文件提示。
更新
这里callBack =包含数据的JSON对象
res =回应
答案 0 :(得分:0)
试试这个:
var csv = require('csv');
res.setHeader('Content-disposition', 'attachment; filename=Report.csv');
res.writeHead(200, {'Content-Type': 'text/csv'});
csv.parse(callBack, function(err, output) {
if(err){
throw err;
}
res.write(output);
});
我使用以下代码测试了csv.parse
函数:
var parse = require('csv-parse');
var data = '"1","2","3","4"\n"a","b","c","d"';
parse(data, function(err, output) {
if(err){
throw err;
}
console.log(output);
});
另外,作为旁注,我建议不要调用包含数据的变量callBack
,因为惯例倾向于命名回调函数callback
。它会以你自己的方式工作,但它会让任何阅读你代码的人感到困惑。