Конвертируйте данные 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');
});