ish*_*kya 5 excel json file node.js
我试图将json数据转换为Xlsx文件并将其保存在文件夹中.我一直在尝试使用icg-json-to-xlsx模块,但到目前为止我一直无法使用它.我的代码看起来像这样:
jsonXlsx = require('icg-json-to-xlsx');
filename = path.join('./files', "output.xlsx");
outputFile = jsonXlsx(filename, result) //result contains json data
console.log(outputFile);
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误
outputFile = jsonXlsx(filename, result)
^
TypeError: Property 'jsonXlsx' of object # is not a function
Run Code Online (Sandbox Code Playgroud)
从mongodb获取数据:在路由中:
router.get('/', function(req, res, next) {
fileController.getAll(function(err, result){
if(err){
res.send(500,err);
}
// res.json(result);
var data = result;
Run Code Online (Sandbox Code Playgroud)
在控制器中:
FileController.prototype.getAll = function(callback){
File.find( {}, {_id: false, id: true, name: true, status: true}, function(err, file){
if(err) {
return callback(err);
} else {
if (!file) {
return callback('file not found');
}
}
callback(null, file);
}
)};
Run Code Online (Sandbox Code Playgroud)
尝试这个
outputFile = jsonXlsx.writeFile(filename, result);
Run Code Online (Sandbox Code Playgroud)
jsonXlsx 是对象,其中包含 writeFile、writeBuffer 等方法,因此您不能将 jsonXlsx 作为函数调用...或者您需要添加对这样的函数的引用
jsonXlsxWriteFile = require('icg-json-to-xlsx').writeFile;
outputFile = jsonXlsxWriteFile(filename, result)
Run Code Online (Sandbox Code Playgroud)
例子
var jsonXlsx = require('icg-json-to-xlsx');
var path = require('path');
var filename = path.join('./files', "output.xlsx");
var result = [
{ id: '1', name: 'test', status: '123' },
{ id: '2', name: 'david', status: '323'},
{ id: '3', name: 'ram', status: '2323' }
];
var outputFile = jsonXlsx.writeFile(filename, JSON.stringify(result));
console.log(outputFile);
Run Code Online (Sandbox Code Playgroud)
更新:
File
.find({ })
.select({
_id: false, id: true, name: true, status: true
})
.lean()
.exec(function(err, file) {
//
});
Run Code Online (Sandbox Code Playgroud)
在你的例子中,查询返回 MongooseDocuments,但jsonXlsx
需要纯 JavaScript 对象,所以这就是你应该使用Lean()的原因
归档时间: |
|
查看次数: |
9427 次 |
最近记录: |