2015-07-24 4 views
1

J'utilise le paquet ci-dessous pour essayer de convertir les fichiers téléchargés Excel (.xlsx) aux fichiers JSON sur mon application Web Express:ne peut pas se xlsx convertisseur JSON pour fonctionner correctement dans le nœud/EXPRES

https://www.npmjs.com/package/xlsx-to-json

voici donc ma forme pour l'utilisateur de télécharger:

 form(id = "form1", action="/upload", method="post", enctype="multipart/form-data") 
      input(type="file", id="control", name="XLupload") 
      br 
      input(type="submit" value="Upload" name="Submit") 

et voici mon routage pour le téléchargement dans mon fichier express principal (de app.js):

var multer = require('multer'); 
var upload = multer({dest: './uploads'}); 
var excel_upload = upload.single('XLupload'); 

app.post('/upload', excel_upload, function(req, res) { 

var fileObject = req.file; 
var filePath = fileObject.path; 
/*** This is what the file Object looks like when uploaded: 
{ fieldname: 'XLupload', 
    originalname: 'testing.xlsx', 
    encoding: '7bit', 
    mimetype: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 

    destination: './uploads', 
    filename: 'c1d55ea7d1f6fccc7e3d3d2764db8881', 
    path: 'uploads\\c1d55ea7d1f6fccc7e3d3d2764db8881', 
    size: 8013 } 
***/ 

xlsxj({ 
    input: String(filePath), 
    output: "output.json" 
    }, function(err, result) { 
     if (err) { 
      console.log(err); 
     } else { 
      console.log(result); 
      } 
     }); 
}); 

de toute façon, pour le dire rapidement, les téléchargements semblent fonctionner correctement, c'est-à-dire qu'ils sont téléchargés dans le dossier/uploads du répertoire. Cependant, le fichier JSON que je récupère du convertisseur xlsxj est vide et je ne sais pas pourquoi. J'ai fait un petit fichier xlsx de test avec quelques mots dans des cellules aléatoires et il me reste un jeu vide [] dans output.json. Quelqu'un peut-il me faire savoir ce que je fais mal?

Répondre

0

Vous pouvez essayer d'utiliser cette bibliothèque XLSX (https://github.com/SheetJS/js-xlsx) et ajoutez ce code après avoir workssheet

var roa = XLSX.utils.sheet_to_row_object_array(worksheet);