ExcelJS pour JavaScript (Node.js) : Guide complet pour créer et parser des fichiers Excel
1. Qu'est-ce qu'ExcelJS et pourquoi l'utiliser ?
ExcelJS est une bibliothèque JavaScript puissante et flexible conçue pour travailler avec des feuilles de calcul aux formats Excel (XLSX, XLSM, CSV, etc.). Elle fonctionne aussi bien dans l'environnement Node.js que dans le navigateur (via des bundlers comme Webpack ou Browserify). ExcelJS permet aux développeurs de créer, lire, modifier et parser des fichiers Excel par programmation, sans avoir besoin d'installer Microsoft Excel.
Pourquoi utiliser ExcelJS ? Dans le développement web moderne et l'automatisation des processus métier, Excel reste l'un des formats les plus populaires pour l'échange de données. Rapports, exports de bases de données, documents financiers, listes de prix, statistiques — tout cela doit souvent être exporté au format Excel. La bibliothèque ExcelJS offre un ensemble complet d'outils pour répondre à ces besoins : de la création d'un simple tableau de données à des rapports complexes avec cellules fusionnées, styles, formules, graphiques et mise en forme conditionnelle. De plus, elle sait parser (lire) les fichiers Excel existants, ce qui permet d'automatiser l'import de données à partir de tableaux.
Principaux avantages d'ExcelJS par rapport aux alternatives (comme xlsx de SheetJS) :
- Gestion des styles : couleurs, polices, bordures, alignement, remplissage.
- Formules : lecture et écriture de formules.
- Mise en forme conditionnelle : modification de l'apparence des cellules en fonction de leurs valeurs.
- Graphiques : création de graphiques et diagrammes.
- Images : insertion d'images dans les feuilles.
- Traitement par flux : gestion de fichiers volumineux sans charger tout le fichier en mémoire.
- Support actif : la bibliothèque est régulièrement mise à jour et bénéficie d'une large communauté.
2. Installation
L'installation d'ExcelJS dans un projet Node.js se fait avec le gestionnaire de paquets npm. Ouvrez un terminal dans le dossier racine de votre projet et exécutez la commande :
npm install exceljs
Une fois l'installation terminée, vous pouvez importer la bibliothèque dans votre code :
const ExcelJS = require('exceljs');
Si vous utilisez les modules ES (syntaxe moderne import/export), assurez-vous que votre package.json contient le flag "type": "module", ou utilisez l'extension de fichier .mjs :
import ExcelJS from 'exceljs';
3. Démarrage rapide — exemple minimal fonctionnel
Créons un fichier Excel simple avec un tableau et sauvegardons-le sur le disque. Cet exemple illustre les étapes de base : création d'un classeur, ajout d'une feuille, écriture de données et sauvegarde.
const ExcelJS = require('exceljs');
async function createSimpleExcel() {
// 1. Créer un nouveau classeur
const workbook = new ExcelJS.Workbook();
// 2. Ajouter une feuille nommée "Mes données"
const worksheet = workbook.addWorksheet('Mes données');
// 3. Définir les colonnes (en-têtes)
worksheet.columns = [
{ header: 'ID', key: 'id', width: 10 },
{ header: 'Nom', key: 'name', width: 30 },
{ header: 'Âge', key: 'age', width: 10 },
{ header: 'Ville', key: 'city', width: 20 }
];
// 4. Ajouter des lignes de données
worksheet.addRow({ id: 1, name: 'Anne Martin', age: 28, city: 'Paris' });
worksheet.addRow({ id: 2, name: 'Pierre Dupont', age: 35, city: 'Lyon' });
worksheet.addRow({ id: 3, name: 'Hélène Lefèvre', age: 22, city: 'Marseille' });
// 5. Sauvegarder le classeur dans un fichier
await workbook.xlsx.writeFile('output.xlsx');
console.log('Fichier output.xlsx créé avec succès !') Aussi dans la bibliothèque
Axios pour JavaScript (Node.js) : guide complet avec exemples
Configuration des applications Java : bibliothèques et outils pour la gestion des paramètres
Travailler avec Kafka en TypeScript : la bibliothèque KafkaJS pour Node.js