Arbeiten mit Excel in JavaScript (Node.js): Bibliotheken und Werkzeuge

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arbeiten mit Excel in JavaScript (Node.js)



Die moderne Webentwicklung erfordert oft eine programmatische Interaktion mit Tabellenkalkulationen. Der Export von Berichten, der Import von Daten aus Buchhaltungssystemen, die Verarbeitung großer Datenmengen – all das macht die Arbeit mit Excel in Node.js zu einer gefragten Aufgabe. In diesem Artikel betrachten wir die drei beliebtesten Bibliotheken für die Arbeit mit dem XLSX-Format: xlsx, exceljs und excel4node. Sie erfahren, wie Sie jede davon installieren, Excel-Dateien erstellen, bearbeiten und lesen.



Bibliothek xlsx (SheetJS)



xlsx ist die beliebteste und leichtgewichtigste Bibliothek für die Arbeit mit Tabellen in Node.js. Sie unterstützt nicht nur XLSX, sondern auch XLS, CSV, ODS und andere Formate. Der Hauptvorteil liegt in der Einfachheit der API und der hohen Geschwindigkeit.



Installation:

npm install xlsx


Beispiel: Erstellen und Schreiben einer Excel-Datei

const XLSX = require('xlsx');

// Erstellen eines Arbeitsblatts mit Datenconst data = [ { Name: 'Anna', Alter: 28, Stadt: 'Moskau' }, { Name: 'Ivan', Alter: 35, Stadt: 'Sankt Petersburg' }, { Name: 'Olga', Alter: 22, Stadt: 'Kasan' }];

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

// Datei speichernXLSX.writeFile(workbook, 'employees.xlsx');console.log('Datei employees.xlsx erstellt!');


Beispiel: Lesen einer vorhandenen Datei

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('Daten aus der Datei:', jsonData);


Vorteile:

  • Minimale Größe (ca. 50 KB komprimiert)
  • Unterstützung vieler Formate (XLSX, XLS, CSV, ODS)
  • Einfache API für die Konvertierung JSON ↔ Tabelle


Nachteile:

  • Eingeschränkte Formatierungsmöglichkeiten (Stile, Schriftarten, Farben)
  • Schwierigkeiten mit verbundenen Zellen und komplexen Formeln


Bibliothek exceljs



exceljs ist eine fortschrittliche Bibliothek für die Arbeit mit XLSX-Dateien. Sie bietet vollständige Kontrolle über die Formatierung: Sie können Schriftarten, Farben, Rahmen, verbundene Zellen, bedingte Formatierung verwalten und sogar Bilder hinzufügen.



Installation:

npm install exceljs


Beispiel: Erstellen eines formatierten Berichts

const ExcelJS = require('exceljs');

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

// Spalten definieren worksheet.columns = [ { header: 'Produkt', key: 'product', width: 20 }, { header: 'Menge', key: 'quantity', width: 15 }, { header: 'Preis', key: 'price', width: 15 } ];

// Daten hinzufügen worksheet.addRow({ product: 'Laptop', quantity: 10, price: 75000 }); worksheet.addRow({ product: 'Maus', quantity: 50, price: 1500 });

// Kopfzeile formatieren const headerRow = worksheet.getRow(1); headerRow.font = { bold: true, color: { argb: 'FFFFFFFF' } }; headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FF4472C4' } };

// Zellen mit Preisen formatieren const priceColumn = worksheet.getColumn(3); priceColumn.numFmt = '#,##0.00';

// Speichern await workbook.xlsx.writeFile('report.xlsx'); console.log('Bericht mit Formatierung erstellt!');}

createReport();


Beispiel: Lesen und Ändern einer Datei

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

Empfehlungen