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 xlsxPour TypeScript, installez également les types (pour xlsx, ils sont intégrés) :
npm install @types/exceljs --save-devnpm install @types/node --save-dev3. 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 Aussi dans la bibliothèque
unbuild pour TypeScript : guide complet avec exemples
Surveillance des applications C++ : bibliothèques et outils pour la collecte de métriques
Génération de PDF en Rust : aperçu des bibliothèques et outils
Travailler avec les ZIP/archives en Rust : bibliothèque zip et guide complet