Open source biblioteka Node.js do zapisywania danych w plikach Excel
Dedykowana open source biblioteka Node.js Excel XLSX, która zapewnia prosty interfejs API do generowania plików .xlsx (Excel) oraz zapisywania danych w plikach Excel w trybie strumieniowym.
Czym jest Node-XLSX-Writer?
W świecie rozwoju Node.js generowanie raportów i eksportowanie danych to powszechne wymagania. Chociaż istnieją potężne biblioteki takie jak exceljs, czasami potrzebne jest rozwiązanie skoncentrowane wyłącznie na jednym zadaniu; szybkim i efektywnym zapisywaniu plików XLSX, bez dodatkowego obciążenia związanego z odczytem lub modyfikacją istniejących plików. Oto Node-XLSX-Writer, lekka i prosta biblioteka zaprojektowana dokładnie w tym celu. Biblioteka wyróżnia się prostotą i ukierunkowaną funkcjonalnością. W przeciwieństwie do kompleksowych bibliotek Excel, które obsługują odczyt, zapis i manipulację, ten moduł koncentruje się wyłącznie na zapisywaniu plików XLSX, co czyni go lekki, łatwym do nauki, szybkim w implementacji i niezawodnym.
Node-XLSX-Writer to lekka i prosta biblioteka zaprojektowana specjalnie do generowania plików XLSX (Excel) w aplikacjach Node.js. Do zadań takich jak generowanie eksportów podobnych do CSV z dodatkowymi korzyściami formatowania Excel oraz obsługą wielu arkuszy (poprzez prosty interfejs API), jest doskonałym wyborem, który utrzyma kod czystym i zmniejszy ślad pamięciowy aplikacji. Stworzona przez Rubena Vermeerscha i odwrócona inżynierią na podstawie przykładowych plików XLSX, ten moduł zapewnia programistom prosty, a jednocześnie skuteczny sposób eksportowania danych do formatu Excel bez złożoności większych bibliotek manipulacji Excel. Dzięki temu jest idealnym wyborem dla aplikacji, które muszą generować duże raporty z baz danych lub API, ponieważ jego charakter strumieniowy zapewnia niskie zużycie pamięci nawet przy ogromnych zestawach danych.
Rozpoczęcie pracy z Node-XLSX-Write
Przed zainstalowaniem Node-XLSX-Writer musisz mieć zainstalowane biblioteki deweloperskie libzip w systemie. Biblioteka zależy od tych natywnych powiązań do tworzenia plików zip (pliki XLSX to zasadniczo spakowane XML). Proszę użyć następujących poleceń, aby instalacja zakończyła się sukcesem.
Zainstaluj Node-XLSX-Write za pomocą npm
npm install --save xlsx-writerMożesz pobrać skompilowaną współdzieloną bibliotekę z repozytorium GitHub i ją zainstalować.
Tworzenie arkuszy kalkulacyjnych Excel XLSX w Node.js
Biblioteka open source Node-XLSX-Writer zawiera funkcje umożliwiające tworzenie i obsługę plików Excel XLSX w aplikacjach Node.js. Biblioteka nie wymaga Microsoft Excel ani interfejsu COM. Programowo konstruuje plik XLSX (który jest zasadniczo plikiem ZIP zawierającym części XML). Dzięki temu nadaje się do użycia po stronie serwera w Node.js. Poniższy przykład kodu pokazuje najprostszy sposób utworzenia pliku Excel z pewnymi danymi.
Jak utworzyć plik Excel XLSX w aplikacjach Node.js?
// Import the library
const XLSXWriter = require('node-xlsx-writer');
// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');
// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);
// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);
// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();
console.log('Excel file created successfully!');
Strumieniowanie dużych zbiorów danych
To właśnie Node-XLSX-Writer naprawdę błyszczy. Zamiast ładować wszystkie dane do pamięci, możesz strumieniowo przesyłać wiersze jeden po drugim. Jest to idealne do przetwarzania wyników zapytań do bazy danych. Biblioteka używa funkcji emitujących każdy rekord z bazy danych. Natychmiast zapisujemy go jako nowy wiersz w pliku Excel. Takie podejście utrzymuje stałe użycie pamięci, niezależnie od tego, czy eksportujesz 100 wierszy, czy 1 milion wierszy.
Jak wykonać strumieniowanie z bazy danych w aplikacjach Node.js?
// Import the library
const XLSXWriter = require('node-xlsx-writer');
// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');
// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);
// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);
// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();
console.log('Excel file created successfully!');
Niestandardowe stylowanie (czcionka, kolor, obramowania)
Chociaż nie jest tak rozbudowana jak pełnoprawne pakiety, biblioteka open source Node-XLSX-Writer zapewnia podstawowe opcje stylizacji, aby Twoje raporty wyglądały profesjonalnie. Obsługuje różne funkcje stylów w arkuszach kalkulacyjnych, takie jak pogrubienie lub pochylenie czcionki, ustawienie koloru tła i koloru obramowania, definiowanie stylu obramowania ('thin', 'medium', 'thick') i tak dalej. Poniższy przykład pokazuje, jak programiści mogą stylizować wiersz nagłówka w aplikacjach Node.js.
Jak zastosować styl do wiersza nagłówka za pomocą biblioteki Node.js?
const XLSXWriter = require('node-xlsx-writer');
const xlsx = new XLSXWriter('./output/styled_report.xlsx');
// Define a style object for the header
const headerStyle = {
bold: true,
background: 'FF2A52F5', // Blue background (ARGB Hex format)
color: 'FFFFFFFF', // White text
border: 'thin', // Thin border around cells
borderColor: 'FF000000' // Black border
};
// Apply the style when writing the header row
xlsx.writeRow(['Product', 'Category', 'Price', 'Stock'], headerStyle);
// Data rows are written without a style (or with a different one)
xlsx.writeRow(['Laptop', 'Electronics', 999.99, 15]);
xlsx.writeRow(['Desk Chair', 'Furniture', 249.50, 8]);
xlsx.finalize();