Travailler avec Excel en JavaScript (Node.js) : bibliothèques et outils

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travailler avec Excel en JavaScript (Node.js)



Le développement web moderne nécessite souvent une interaction logicielle avec des tableurs. L'exportation de rapports, l'importation de données depuis des systèmes comptables, le traitement de grands volumes d'informations — tout cela fait du travail avec Excel dans Node.js une tâche très demandée. Dans cet article, nous examinerons les trois bibliothèques les plus populaires pour travailler avec le format XLSX : xlsx, exceljs et excel4node. Vous apprendrez comment installer chacune d'elles, créer, modifier et lire des fichiers Excel.



Bibliothèque xlsx (SheetJS)



xlsx est la bibliothèque la plus populaire et la plus légère pour travailler avec des tableurs dans Node.js. Elle prend en charge non seulement XLSX, mais aussi XLS, CSV, ODS et d'autres formats. Son principal avantage est la simplicité de son API et sa grande vitesse d'exécution.



Installation :

npm install xlsx


Exemple : création et écriture d'un fichier Excel

const XLSX = require('xlsx');

// Créer une feuille de calcul avec des donnéesconst data = [ { Nom: 'Anna', Âge: 28, Ville: 'Moscou' }, { Nom: 'Ivan', Âge: 35, Ville: 'Saint-Pétersbourg' }, { Nom: 'Olga', Âge: 22, Ville: 'Kazan' }];

const worksheet = XLSX.utils.json_to_sheet(data);const workbook = XLSX.utils.book_new();XLSX.utils.book_append_sheet(workbook, worksheet, 'Employés');

// Enregistrer le fichierXLSX.writeFile(workbook, 'employees.xlsx');console.log('Fichier employees.xlsx créé !');


Exemple : lecture d'un fichier existant

const workbook = XLSX.readFile('employees.xlsx');const sheetName = workbook.SheetNames[0];const worksheet = workbook.Sheets[sheetName];const jsonData = XLSX.utils.sheet_to_json(worksheet);

console.log('Données du fichier :', jsonData);


Avantages :

  • Taille minimale (environ 50 Ko compressé)
  • Prise en charge de multiples formats (XLSX, XLS, CSV, ODS)
  • API simple pour la conversion JSON ↔ tableau


Inconvénients :

  • Possibilités de formatage limitées (styles, polices, couleurs)
  • Difficultés avec les cellules fusionnées et les formules complexes


Bibliothèque exceljs



exceljs est une bibliothèque avancée pour travailler avec des fichiers XLSX. Elle offre un contrôle total sur le formatage : vous pouvez gérer les polices, les couleurs, les bordures, les cellules fusionnées, le formatage conditionnel et même ajouter des images.



Installation :

npm install exceljs


Exemple : création d'un rapport formaté

const ExcelJS = require('exceljs');

async function createReport() { const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet('Rapport');

// Définir les colonnes worksheet.columns = [ { header: 'Produit', key: 'product', width: 20 }, { header: 'Quantité', key: 'quantity', width: 15 }, { header: 'Prix', key: 'price', width: 15 } ];

// Ajouter des données worksheet.addRow({ product: 'Ordinateur portable', quantity: 10, price: 75000 }); worksheet.addRow({ product: 'Souris', quantity: 50, price: 1500 });

// Formatage de l'en-tête const headerRow = worksheet.getRow(1); headerRow.font = { bold: true, color: { argb: 'FFFFFFFF' } }; headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FF4472C4' } };

// Formatage des cellules de prix const priceColumn = worksheet.getColumn(3); priceColumn.numFmt = '#,##0.00';

// Enregistrer await workbook.xlsx.writeFile('report.xlsx'); console.log('Rapport créé avec formatage !');}

createReport();


Exemple : lecture et modification d'un fichier

const workbook = new ExcelJS.Workbook();await workbook.xlsx.readFile('report.xlsx');const worksheet = w                    

Recommendations