Travailler avec Excel en TypeScript : bibliothèques, exemples 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 TypeScript : bibliothèques, exemples et outils



TypeScript est un langage puissant pour le développement d'applications web, et il est souvent nécessaire de travailler programmatiquement avec des fichiers Excel : lire des rapports, générer des tableaux, exporter des données. Dans cet article, nous examinerons trois bibliothèques principales pour travailler avec Excel en TypeScript, leurs fonctionnalités et fournirons des exemples pratiques.



1. Bibliothèques principales pour travailler avec Excel en TypeScript



Il existe plusieurs solutions populaires, chacune ayant ses propres points forts :



  • ExcelJS — la bibliothèque la plus populaire pour la lecture, l'écriture et la stylisation des fichiers Excel. Elle prend en charge .xlsx, .xlsm, .csv, ainsi que le travail avec les formules, le formatage conditionnel et les images.
  • xlsx (SheetJS) — une bibliothèque légère et rapide pour les opérations de base : lecture et écriture de données tabulaires. Idéale pour les tâches simples.
  • excel4node — une bibliothèque pour créer des fichiers Excel avec un accent sur les performances et la prise en charge des styles.


2. Installation et configuration



Pour installer la bibliothèque choisie, utilisez npm. Voyons l'installation d'ExcelJS et de xlsx :



npm install exceljsnpm install xlsx


Pour TypeScript, installez également les types (pour xlsx, ils sont intégrés) :



npm install @types/exceljs --save-devnpm install @types/node --save-dev


3. Travailler avec Excel via ExcelJS



3.1 Création et écriture d'un fichier



Créons un nouveau fichier Excel avec des en-têtes et des données :



import * as ExcelJS from 'exceljs';

async function createExcel() { const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet('Données');

// Définir les colonnes worksheet.columns = [ { header: 'Nom', key: 'name', width: 25 }, { header: 'Âge', key: 'age', width: 10 }, { header: 'Ville', key: 'city', width: 20 } ];

// Ajouter des lignes worksheet.addRow({ name: 'Anna', age: 28, city: 'Moscou' }); worksheet.addRow({ name: 'Ivan', age: 35, city: 'Saint-Pétersbourg' }); worksheet.addRow({ name: 'Olga', age: 22, city: 'Kazan' });

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

// Sauvegarder le fichier await workbook.xlsx.writeFile('example.xlsx'); console.log('Fichier créé');}

createExcel();


3.2 Lecture d'un fichier existant



Lisons les données du fichier créé précédemment :



async function readExcel() {  const workbook = new ExcelJS.Workbook();  await workbook.xlsx.readFile('example.xlsx');

const worksheet = workbook.getWorksheet('Données'); if (!worksheet) return;

worksheet.eachRow((row, rowNumber) => { const rowData = row.values as any[]; console.log(`Ligne ${rowNumber} : ${rowData.join(', ')}`); });}

readExcel();


4. Travailler avec Excel via xlsx (SheetJS)



4.1 Lecture des données



La bibliothèque xlsx permet de lire rapidement les données d'un fichier :



import * as XLSX from 'xlsx';

function readXlsxFile(filePath: string) { const workbook = XLSX.readFile(filePath); const sheetName = workbook.SheetNames[0]; const worksheet = workbook.Sheets[sheetName]; const data = XLSX.utils.sheet_to_json(worksheet); console.log(data);}

readXlsxFile('example.xlsx');


4.2 Création et écriture



Créons un fichier Excel simple à partir d'un tableau d'objets :



function createXlsx() {  const data = [    { Name: 'Anna', Age: 28, City: 'Moscou' },    { Name: 'Ivan', Age: 35, City: 'SPb' }  ];

const worksheet = XLSX.utils.json_to_sheet(data); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, wor

Recommendations