Travailler avec Excel en JavaScript (Node.js) : bibliothèques et exemples de code

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) : aperçu des bibliothèques et exemples de code



Bien que PythonLib soit dédié au langage Python, le travail avec les tableurs Excel est souvent nécessaire également dans l'environnement Node.js. JavaScript (notamment côté serveur) est activement utilisé pour l'automatisation des rapports, l'importation de données depuis les systèmes CRM et la génération de listes de prix. Dans cet article, nous allons examiner trois bibliothèques principales pour travailler avec Excel dans Node.js, leurs fonctionnalités et fournir des exemples pratiques de code.



Pourquoi Node.js pour Excel ?

Node.js est un choix idéal pour les microservices et les scripts qui traitent de gros volumes de données. Les bibliothèques pour Excel permettent de :

  • Lire des fichiers .xlsx et .xls existants.
  • Créer de nouveaux tableaux à partir de zéro.
  • Formater les cellules (couleurs, polices, bordures).
  • Travailler avec des formules, des styles et des cellules fusionnées.
  • Exporter des données en CSV.


Top 3 des bibliothèques pour Excel dans Node.js



1. ExcelJS — le plus fonctionnel

ExcelJS est une bibliothèque puissante avec un support complet des formats xlsx. Elle permet de travailler avec des flux (streams), ce qui est crucial pour les fichiers volumineux. Elle prend en charge les styles, le formatage conditionnel, les graphiques et la protection des feuilles.

Installation :

npm install exceljs


Exemple 1 : Lecture d'un fichier existant

const ExcelJS = require('exceljs');

async function readExcel(filePath) { const workbook = new ExcelJS.Workbook(); await workbook.xlsx.readFile(filePath); const worksheet = workbook.getWorksheet(1); // Première feuille worksheet.eachRow((row, rowNumber) => { console.log(`Ligne ${rowNumber}: ${row.values.join(', ')}`); });}

readExcel('data.xlsx');


Exemple 2 : Création d'un fichier avec formatage

const ExcelJS = require('exceljs');

async function createStyledExcel() { const workbook = new ExcelJS.Workbook(); const sheet = workbook.addWorksheet('Rapport'); // En-tête avec police en gras et remplissage const headerRow = sheet.getRow(1); headerRow.values = ['Nom', 'Âge', 'Ville']; headerRow.font = { bold: true, size: 12 }; headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FFFF00' } // Fond jaune }; // Données sheet.addRow(['Anna', 28, 'Moscou']); sheet.addRow(['Ivan', 35, 'Saint-Pétersbourg']); // Largeur des colonnes sheet.getColumn(1).width = 15; sheet.getColumn(2).width = 10; await workbook.xlsx.writeFile('output.xlsx'); console.log('Fichier créé !');}

createStyledExcel();


2. xlsx (SheetJS) — léger et rapide

La bibliothèque xlsx (également connue sous le nom de SheetJS) est un "cheval de bataille" pour les opérations simples. Elle ne prend pas en charge le formatage avancé, mais gère parfaitement la lecture/écriture de données. Elle prend en charge les formats xlsx, xls, csv, ods.

Installation :

npm install xlsx


Exemple 3 : Lecture et conversion en JSON

const XLSX = require('xlsx');

function readToJSON(filePath) { const workbook = XLSX.readFile(filePath); const sheetName = workbook.SheetNames[0]; const sheet = workbook.Sheets[sheetName]; // Convertir la feuille en tableau d'objets const data = XLSX.utils.sheet_to_json(sheet); console.log(data);}

readToJSON('data.xlsx');


Exemple 4 : Écriture d'un tableau de données

const XLSX = require('xlsx');

function writeFromArray() { const data = [ { Name: 'Olga', Age: 30, City: 'Kazan' }, { Name: 'Pierre', Age: 42, City: 'Ekaterinbourg' } ]; const worksheet = XLSX.utils.json_to_sheet(data); const workbook = XLSX.utils.book_new(); XLSX.utils

Recommendations