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

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): Überblick über Bibliotheken und praktische Beispiele



Obwohl PythonLib der Sprache Python gewidmet ist, besteht in der modernen Webentwicklung häufig die Notwendigkeit, Excel-Tabellen serverseitig mit Node.js zu verarbeiten. JavaScript (Node.js) ist eine leistungsstarke Umgebung für die Erstellung von Serveranwendungen, und die Arbeit mit Tabellenkalkulationen ist eine der gefragten Aufgaben. In diesem Artikel betrachten wir die drei wichtigsten Bibliotheken für die Arbeit mit Excel in Node.js: node-xlsx (xlsx), exceljs und excel4node, und geben Beispiele für deren Verwendung.



Warum ist die Arbeit mit Excel in Node.js notwendig?

Auf der Serverseite wird oft Folgendes benötigt:

  • Generieren von Berichten im XLSX-Format zum Herunterladen durch Benutzer;
  • Importieren von Daten aus hochgeladenen Excel-Dateien in eine Datenbank;
  • Automatisches Verarbeiten von Preislisten, Buchhaltungstabellen und anderen Dokumenten;
  • Erstellen komplexer Berichte mit Formatierung, Diagrammen und Stilen.

Node.js bewältigt diese Aufgaben hervorragend und bietet mehrere spezialisierte Bibliotheken.



Die Bibliothek xlsx (SheetJS)

SheetJS (Paket xlsx) ist die beliebteste und ausgereifteste Bibliothek für die Arbeit mit Excel in JavaScript. Sie unterstützt das Lesen und Schreiben vieler Formate: XLSX, XLS, CSV, ODS und andere. Der Hauptvorteil ist die Einfachheit und Geschwindigkeit.



Installation

npm install xlsx


Beispiel: Erstellen und Speichern einer Excel-Datei

const XLSX = require('xlsx');

// Neue Arbeitsmappe erstellenconst workbook = XLSX.utils.book_new();

// Daten für die Tabelleconst data = [ ['Name', 'Alter', 'Stadt'], ['Anna', 28, 'Moskau'], ['Ivan', 35, 'Sankt Petersburg'], ['Maria', 22, 'Kasan']];

// Array in ein Blatt umwandelnconst worksheet = XLSX.utils.aoa_to_sheet(data);

// Blatt zur Arbeitsmappe hinzufügenXLSX.utils.book_append_sheet(workbook, worksheet, 'Benutzer');

// Datei auf die Festplatte schreibenXLSX.writeFile(workbook, 'users.xlsx');console.log('Datei users.xlsx erstellt!');


Beispiel: Lesen einer vorhandenen Datei

const XLSX = require('xlsx');

const workbook = XLSX.readFile('users.xlsx');const sheetName = workbook.SheetNames[0]; // Erstes Blatt nehmenconst worksheet = workbook.Sheets[sheetName];

// Blatt in ein Array von Objekten umwandelnconst jsonData = XLSX.utils.sheet_to_json(worksheet);console.log(jsonData);


Die Bibliothek exceljs

ExcelJS ist eine modernere und funktionsreichere Bibliothek. Sie bietet umfangreiche Formatierungsmöglichkeiten: Zellenstile, Schriftarten, Farben, Zellen verbinden, bedingte Formatierung, Arbeit mit Bildern und Diagrammen. Sie unterstützt Streams für die Arbeit mit großen Dateien.



Installation

npm install exceljs


Beispiel: Erstellen eines formatierten Berichts

const ExcelJS = require('exceljs');

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

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

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

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

// Ausrichtung headerRow.alignment = { vertical: 'middle', horizontal: 'ce

Empfehlungen