节点 - CSV无法正常工作

时间:2014-06-01 05:16:49

标签: node.js express export-to-csv

我正在使用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 =回应

1 个答案:

答案 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。它会以你自己的方式工作,但它会让任何阅读你代码的人感到困惑。