node-red-contrib-excel
Version:
Converts JSON to excel and writes to file specified.
37 lines (33 loc) • 1.21 kB
JavaScript
module.exports = function (RED) {
"use strict";
var json2xls = require('json2xls');
var fs = require('fs');
function ConvertJSONToExcel(config) {
RED.nodes.createNode(this, config);
this.file = config.file;
this.on('input', function(msg){
var node = this;
var file = msg.filepath;
if(file === undefined || file === null){
if(node.file === undefined || node.file === null ){
console.log("File path cannot be null");
node.error("filepath cannot be null");
}else{
file = node.file;
}
}
if(msg.payload === undefined || msg.payload === null){
console.log("Payload cannot be blank");
node.error("payload cannot be null");
}else{
var xls = json2xls(msg.payload);
fs.writeFileSync(file, xls, 'binary');
msg.attachment=file;
msg.filename=file;
msg.file=file;
node.send(msg);
}
});
};
RED.nodes.registerType("excel", ConvertJSONToExcel);
}