Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON数据转换为可下载的Excel_Javascript_Json_Excel_Filesaver.js - Fatal编程技术网

Javascript 将JSON数据转换为可下载的Excel

Javascript 将JSON数据转换为可下载的Excel,javascript,json,excel,filesaver.js,Javascript,Json,Excel,Filesaver.js,我试图在JavaScript代码中将JSON数据转换为可下载的Excel文件。我试过了,但没能成功。从文档中,我复制的代码与下面给出的完全相同: var json2xls = require('json2xls'); var json = { foo: 'bar', qux: 'moo', poo: 123, stux: new Date() } var xls = json2xls(json); fs.writeFileSync('data.xlsx', x

我试图在JavaScript代码中将JSON数据转换为可下载的Excel文件。我试过了,但没能成功。从文档中,我复制的代码与下面给出的完全相同:

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,但它似乎只适用于文本块

是否有其他方法可以下载Excel文件?

尝试将

var fs=require(“fs”)位于代码顶部(如果尚未设置)

编辑

我试过你的代码,并成功了。我怀疑您的node版本没有定义fs.writeFileSync()函数。尝试使用非同步写入文件,如下所示:

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');
});
试一试推杆

var fs=require(“fs”)位于代码顶部(如果尚未设置)

编辑

我试过你的代码,并成功了。我怀疑您的node版本没有定义fs.writeFileSync()函数。尝试使用非同步写入文件,如下所示:

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');
});

这是node.js还是浏览器?json2xsl代表节点,filesaver.js代表浏览器…这是node.js还是浏览器?json2xsl用于节点,filesaver.js用于浏览器。。。