如何解决“ XLSX.utils.json_to_sheet不是函数”错误?

时间:2019-04-16 12:32:16

标签: javascript node-red sheetjs

我做了一个js脚本,将JSON对象转换为Excel文件。当我在命令行中使用模拟的JSON对象执行脚本时,该脚本起作用,但是当我从node-red的节点“文件函数”调用它时,出现错误:“ TypeError:XLSX.utils.json_to_sheet不是函数”。 这是我的脚本:

const XLSX = require('xlsx');
const wb = { SheetNames: [], Sheets: {} };
const json = msg.questions;

console.log(json);

const ws = XLSX.utils.json_to_sheet(json);

const sheetName = "test sheet";
XLSX.utils.book_append_sheet(wb, ws, sheetName);

XLSX.writeFile(wb, 'output.xlsx');

1 个答案:

答案 0 :(得分:0)

因为require不在功能节点的作用域内(这也适用于文件功能节点)。

有关如何包含其他模块的信息,请参见文档:https://nodered.org/docs/writing-functions#loading-additional-modules

基本上,您需要将模块添加到全局上下文并从那里包含它们。

(P.S。文件功能节点已有4年没有更新了,此后核心功能节点已进行了很长的移动)