2016-09-19 2 views
0

Я хочу преобразовать .xls файл в формате JSON. Я использовал xls-to-json модуль для него.xls-to-json не работает в Node.js

когда я использовал xlsx-to-json модуль работает нормально. но я не хочу читать .xlsx file. он дает мне ошибку с:

TypeError: Cannot set property length of [object Object] which has only a getter.

Я не могу найти ошибку. есть ли какой-либо другой модуль для преобразования файла .xls в JSON.

here is my code : 
var node_xj = require("xls-to-json"); 
app.get('/file',function(req,res){ 
     node_xj({ 
      input: 'file.xls', // input xls 
      output: "output.json", // output json 
      sheet: "sheetname", // specific sheetname 
     }, function(err, result) { 
      if(err) { 
       console.error(err); 
      } else { 
       console.log(result); 
      } 
     }); 
    }); 
+0

Вы хотите прочитать только файл 'xls'? и этот файл будет динамически появляться? – abdulbarik

+0

Да. Я хочу читать только файл xls, который будет динамически выходить – sharvari

ответ

0

Этот пакет поддерживает только новый формат xlsx, используемый MS Excel.

Самый простой вариант - сохранить файл в виде файла csv с разделителями-запятыми (так как формат доступен в большинстве программных продуктов) и использовать конвертер csv to json.

Там хороший один здесь - https://www.npmjs.com/package/csv

0

Вы можете использовать path модуль для получения file extension, и если расширение файла спичка затем выполнить код парсинга

var node_xj = require("xls-to-json"); 
var path = require('path'); 
app.get('/file', function(req, res) { 
    //Give file name with extension e.g, file.xls 
    if (path.extname('file.xls') === '.xls') { 
    node_xj({ 
     input: 'file.xls', // input xls 
     output: "output.json", // output json 
     sheet: "sheetname", // specific sheetname 
    }, function(err, result) { 
     if (err) { 
     console.error(err); 
     } else { 
     console.log(result); 
     } 
    }); 
    } 
}); 

Update

Это не проблема этого модуля, но проблема исходит от стороннего модуля dependen су xlsjs

вот opened issue вы можете увидеть обновления

+0

он не будет в состоянии if. – sharvari

+0

Я обновил ответ, просто заменил 'xls' на' .xls' – abdulbarik

+0

все еще показывает ту же ошибку: TypeError: Невозможно установить длину свойства объекта [object Object], который имеет только getter – sharvari

0

Вы можете использовать этот , обратите внимание, я являюсь автором.

Смежные вопросы