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 xlsxBeispiel: 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 exceljsBeispiel: 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