我正在尝试将JSON数据转换为JavaScript代码中的可下载Excel文件。我试过use但是无法让它发挥作用。从文档中,我正在复制与下面给出的完全相同的代码:
var json2xls = require('json2xls');
var json = {
foo: 'bar',
qux: 'moo',
poo: 123,
stux: new Date()
}
var xls = json2xls(json);
fs.writeFileSync('data.xlsx', xls, 'binary');
但是我收到了这个错误:
TypeError: fs.writeFileSync is not a function
我也尝试过调查FileSaver.js here,但它似乎只适用于文本blob。
是否有下载Excel文件的替代方法?
答案 0 :(得分:0)
尝试放
代码顶部的 var fs = require("fs");
,如果它还没有
修改
我尝试了你的代码,并让它工作。我怀疑你的节点版本没有定义fs.writeFileSync()函数。尝试使用非同步writeFile,如下所示:
var fs = require("fs");
var json2xls = require('json2xls');
var json = {
foo: 'bar',
qux: 'moo',
poo: 123,
stux: new Date()
}
var xls = json2xls(json);
console.log(fs);
// THIS WORKED FOR ME
//fs.writeFileSync('data.xlsx', xls, 'binary');
// TRY THIS , MAYBE YOU HAVE AN OLD VERSION OF NODE THAT DOES NOT HAVE fs.writeFileSync
fs.writeFile('data2.xlsx', xls, function (err) {
if (err) throw err;
console.log('saved file');
});