Конвертируйте данные JSON в загружаемый Excel

Я пытаюсь преобразовать данные JSON в загружаемый файл Excel в своем коде JavaScript. Я пытался использовать, но не могу заставить его работать. Из документации я копирую тот же самый точный код, который приведен ниже:

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?

1 ответ

Попробуйте положить

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');
});
Другие вопросы по тегам