Voir le flux RSS

autran

Parser des objets depuis un fichier Excel avec JavaScript

Noter ce billet
par , 09/05/2016 à 20h05 (3018 Affichages)
Node.js permet de manipuler des fichiers. On peut même dire qu'il est en partie fait pour cela, ce qui pourrait aux yeux de certains apparaître comme un paradoxe. En effet, historiquement JavaScript ne s’exécutait que dans un navigateur pour animer des pages web. A ce titre et pour des raisons assez évidentes de sécurité, JavaScript ne pouvait pas accéder au ressource du PC et encore moins manipuler des fichiers Excel.

Mais aujourd'hui, JavaScript s’exécute coté serveur donc aussi comme une application cliente sur un PC. Pour s'en persuader, il suffit de regarder des applications comme Atom. Donc si l’on a la possibilité de lire et écrire dans des fichiers, on doit pouvoir manipuler des fichiers Excel.

Dans ce billet nous parserons un fichier XLSX avec un module NPM : le package xlsx.
Comme on utilisera Node.js, on installera le package avec la commande npm install xlsxnous allons parser un fichier qui contient une liste de nom prénom age et numéro de téléphone.
Nous mettrons les données du fichier dans une liste d'objets Personne.
Voici la classe Personne :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'use strict';
module.exports = class Personne{
    constructor(ident, nom, prenom, age, tel){
        this.id = ident;
        this.lastName = nom;
        this.firstName = prenom;
        this.age = age;
        this.phone = tel
    }
    getId(){
        return this.id;
    }
    getLastName(){
        return this.lastName;
    }
    getFirstName(){
        return this.firstName;
    }
    getAge(){
        return this.age;
    }
    getPhone(){
        return this.phone;
    }
}

Et maintenant le code du parser :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'use strict';
var XLSX = require('xlsx');
var Personne = require('./personne');
var workbook = XLSX.readFile('test.xlsx');
var sheetName = workbook.SheetNames[0];
var worksheet = workbook.Sheets[sheetName];
var personnes = [];
var tab = [];
var i = 0;
for (z in worksheet) {
    if(z[0] === '!') continue;
    if (i > 4) tab[i % 5] = worksheet[z].v;
    i++;
    if (i % 5 == 0 && i > 5)  personnes.push(new Personne(tab[0], tab[1], tab[2], tab[3], tab[4]));
}

Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog Viadeo Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog Twitter Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog Google Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog Facebook Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog Digg Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog Delicious Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog MySpace Envoyer le billet « Parser des objets depuis un fichier Excel avec JavaScript » dans le blog Yahoo

Commentaires