Arbeiten mit Excel in TypeScript: Bibliotheken, Beispiele und Tools
TypeScript ist eine leistungsstarke Sprache für die Entwicklung von Webanwendungen, und oft besteht die Notwendigkeit, programmatisch mit Excel-Dateien zu arbeiten: Berichte lesen, Tabellen generieren, Daten exportieren. In diesem Artikel betrachten wir die drei wichtigsten Bibliotheken für die Arbeit mit Excel in TypeScript, ihre Funktionen und geben praktische Beispiele.
1. Wichtigste Bibliotheken für die Arbeit mit Excel in TypeScript
Es gibt mehrere beliebte Lösungen, jede mit ihren eigenen Stärken:
- ExcelJS – die beliebteste Bibliothek zum Lesen, Schreiben und Gestalten von Excel-Dateien. Unterstützt .xlsx, .xlsm, .csv sowie die Arbeit mit Formeln, bedingter Formatierung und Bildern.
- xlsx (SheetJS) – eine leichte und schnelle Bibliothek für grundlegende Operationen: Lesen und Schreiben von Tabellendaten. Ideal für einfache Aufgaben.
- excel4node – eine Bibliothek zum Erstellen von Excel-Dateien mit Schwerpunkt auf Leistung und Unterstützung von Stilen.
2. Installation und Einrichtung
Verwenden Sie npm, um die gewählte Bibliothek zu installieren. Betrachten wir die Installation von ExcelJS und xlsx:
npm install exceljsnpm install xlsxInstallieren Sie für TypeScript zusätzlich die Typen (für xlsx sind sie integriert):
npm install @types/exceljs --save-devnpm install @types/node --save-dev3. Arbeiten mit Excel über ExcelJS
3.1 Erstellen und Schreiben einer Datei
Erstellen wir eine neue Excel-Datei mit Überschriften und Daten:
import * as ExcelJS from 'exceljs';
async function createExcel() { const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet('Daten');
// Spalten definieren worksheet.columns = [ { header: 'Name', key: 'name', width: 25 }, { header: 'Alter', key: 'age', width: 10 }, { header: 'Stadt', key: 'city', width: 20 } ];
// Zeilen hinzufügen worksheet.addRow({ name: 'Anna', age: 28, city: 'Moskau' }); worksheet.addRow({ name: 'Ivan', age: 35, city: 'Sankt Petersburg' }); worksheet.addRow({ name: 'Olga', age: 22, city: 'Kasan' });
// Überschriften gestalten const headerRow = worksheet.getRow(1); headerRow.font = { bold: true, color: { argb: 'FFFFFFFF' } }; headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FF4472C4' } };
// Datei speichern await workbook.xlsx.writeFile('example.xlsx'); console.log('Datei erstellt');}
createExcel();3.2 Lesen einer vorhandenen Datei
Lesen wir die Daten aus der zuvor erstellten Datei:
async function readExcel() { const workbook = new ExcelJS.Workbook(); await workbook.xlsx.readFile('example.xlsx');
const worksheet = workbook.getWorksheet('Daten'); if (!worksheet) return;
worksheet.eachRow((row, rowNumber) => { const rowData = row.values as any[]; console.log(`Zeile ${rowNumber}: ${rowData.join(', ')}`); });}
readExcel();4. Arbeiten mit Excel über xlsx (SheetJS)
4.1 Daten lesen
Die Bibliothek xlsx ermöglicht das schnelle Lesen von Daten aus einer Datei:
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 Erstellen und Schreiben
Erstellen wir eine einfache Excel-Datei aus einem Array von Objekten:
function createXlsx() { const data = [ { Name: 'Anna', Alter: 28, Stadt: 'Moskau' }, { Name: 'Ivan', Alter: 35, Stadt: 'SPb' } ];
const worksheet = XLSX.utils.json_to_sheet(data); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, wor Auch in der Bibliothek
Twig für PHP: Komplette Anleitung mit Beispielen
JsonWebToken für JavaScript (Node.js): Komplettguide mit Beispielen
OAuth-Client für C++: Die Bibliothek liboauth für die Autorisierung
Ehcache für Java: Komplettes Tutorial mit Beispielen