ExcelJS für JavaScript (Node.js): Komplette Anleitung mit Beispielen

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

ExcelJS für JavaScript (Node.js): Komplette Anleitung zum Erstellen und Parsen von Excel-Dateien

1. Was ist ExcelJS und warum wird es benötigt?

ExcelJS ist eine leistungsstarke und flexible Bibliothek für JavaScript, die für die Arbeit mit Tabellenkalkulationen in Excel-Formaten (XLSX, XLSM, CSV und andere) entwickelt wurde. Sie funktioniert sowohl in der Node.js-Umgebung als auch im Browser (über Modul-Bundler wie Webpack oder Browserify). ExcelJS ermöglicht es Entwicklern, Excel-Dateien programmatisch zu erstellen, zu lesen, zu bearbeiten und zu parsen, ohne die Microsoft Excel-Anwendung selbst verwenden zu müssen.

Warum wird ExcelJS benötigt? In der modernen Webentwicklung und Geschäftsprozessautomatisierung bleibt Excel eines der beliebtesten Formate für den Datenaustausch. Berichte, Datenbankexporte, Finanzdokumente, Preislisten, Statistiken – all dies muss oft nach Excel exportiert werden. Die Bibliothek ExcelJS bietet einen vollständigen Werkzeugsatz zur Lösung dieser Aufgaben: von der Erstellung einer einfachen Datentabelle bis hin zu komplexen Berichten mit verbundenen Zellen, Stilen, Formeln, Diagrammen und bedingter Formatierung. Darüber hinaus kann sie vorhandene Excel-Dateien parsen (lesen), was die Automatisierung des Datenimports aus Tabellen ermöglicht.

Die wichtigsten Vorteile von ExcelJS gegenüber Alternativen (z. B. xlsx von SheetJS):

  • Stil-Unterstützung: Farben, Schriftarten, Rahmen, Ausrichtung, Füllung.
  • Formelverarbeitung: Lesen und Schreiben von Formeln.
  • Bedingte Formatierung: Änderung des Erscheinungsbilds von Zellen basierend auf ihren Werten.
  • Diagramme: Erstellung von Grafiken und Diagrammen.
  • Bilder: Einfügen von Bildern in Arbeitsblätter.
  • Streaming-Verarbeitung: Arbeit mit großen Dateien ohne vollständiges Laden in den Arbeitsspeicher.
  • Aktive Unterstützung: Die Bibliothek wird regelmäßig aktualisiert und hat eine große Community.

2. Installation

Die Installation von ExcelJS in einem Node.js-Projekt erfolgt mit dem Paketmanager npm. Öffnen Sie ein Terminal im Stammverzeichnis Ihres Projekts und führen Sie den folgenden Befehl aus:

npm install exceljs

Nach Abschluss der Installation können Sie die Bibliothek in Ihren Code importieren:

const ExcelJS = require('exceljs');

Wenn Sie ES-Module (moderne import/export-Syntax) verwenden, stellen Sie sicher, dass in Ihrer package.json das Flag "type": "module" gesetzt ist, oder verwenden Sie die Dateierweiterung .mjs:

import ExcelJS from 'exceljs';

3. Schnellstart – ein minimales Arbeitsbeispiel

Lassen Sie uns eine einfache Excel-Datei mit einer Tabelle erstellen und auf der Festplatte speichern. Dieses Beispiel zeigt die grundlegenden Schritte: Arbeitsmappe erstellen, Arbeitsblatt hinzufügen, Daten schreiben und speichern.

const ExcelJS = require('exceljs');

async function createSimpleExcel() {
    // 1. Neue Arbeitsmappe erstellen
    const workbook = new ExcelJS.Workbook();
    
    // 2. Arbeitsblatt mit dem Namen "Meine Daten" hinzufügen
    const worksheet = workbook.addWorksheet('Meine Daten');
    
    // 3. Spalten definieren (Überschriften)
    worksheet.columns = [
        { header: 'ID', key: 'id', width: 10 },
        { header: 'Name', key: 'name', width: 30 },
        { header: 'Alter', key: 'age', width: 10 },
        { header: 'Stadt', key: 'city', width: 20 }
    ];
    
    // 4. Datenzeilen hinzufügen
    worksheet.addRow({ id: 1, name: 'Anna Müller', age: 28, city: 'Berlin' });
    worksheet.addRow({ id: 2, name: 'Peter Schmidt', age: 35, city: 'München' });
    worksheet.addRow({ id: 3, name: 'Elena Wagner', age: 22, city: 'Hamburg' });
    
    // 5. Arbeitsmappe in Datei speichern
    await workbook.xlsx.writeFile('output.xlsx');
    console.log('Datei output.xlsx erfolgreich erstellt!')                    

Empfehlungen