如何解决异步将数据库数据导出到csv文件
我目前正在尝试使用csv-stringify
模块将NodeJ的sql查询结果写入CSV文件。
这是我的代码:
async exportData() {
try {
let request = 'SELECT * FROM PROFACE.dbo.EvenementsMachines WHERE idMachine=215';
let results = await sql.query(request);
stringify(results,{
header: true
},function (err,output) {
fs.writeFile(__dirname+'/results.csv',output,function(err,result) {
if (err) {
console.log('error : ',err);
}
});
})
} catch (e) {
console.log(e);
}
}
server.app.get("/export",function(req,res) {
try {
exportData().then(function(value) {
res.json("OK");
});
} catch (e) {
console.log(e);
}
})
这段代码返回以下错误。
CsvError: Invalid argument: got {"header":true} at index 1
at stringify (C:\Users\c.chaulaic\Documents\Dev\mps-prod\node_modules\csv-stringify\lib\index.js:482:13)
at DAO.exportData (C:\Users\c.chaulaic\Documents\Dev\mps-prod\server\DAO.js:219:4)
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
code: 'CSV_INVALID_ARGUMENT'
我猜有一个错误,因为它是异步的,并且当我使用results
函数时stringify()
变量是未定义的。但是我不知道如何重写我的代码,这样它才能正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。