Bibliotecă Node.js open source pentru scrierea datelor în fișiere Excel
O bibliotecă Node.js Excel XLSX open source dedicată, care oferă un API simplu pentru generarea fișierelor .xlsx (Excel) și scrierea datelor în fișiere Excel în mod streaming.
Ce este Node-XLSX-Writer?
În lumea dezvoltării cu Node.js, generarea rapoartelor și exportul de date sunt cerințe comune. Deși există biblioteci puternice precum exceljs, uneori aveți nevoie de o soluție concentrată strict pe o singură sarcină; scrierea fișierelor XLSX rapid și eficient, fără costurile suplimentare ale citirii sau manipulării fișierelor existente. Apare Node-XLSX-Writer, o bibliotecă ușoară și simplă concepută exact pentru acest scop. Biblioteca se remarcă prin simplitatea și funcționalitatea sa focalizată. Spre deosebire de bibliotecile Excel cuprinzătoare care gestionează citirea, scrierea și manipularea, acest modul se concentrează exclusiv pe scrierea fișierelor XLSX, fiind astfel ușor, ușor de învățat, cu implementare rapidă și fiabil.
Node-XLSX-Writer este o bibliotecă ușoară și simplă concepută special pentru generarea fișierelor XLSX (Excel) în aplicații Node.js. Pentru sarcini precum generarea de exporturi de tip CSV cu avantajele suplimentare ale formatării Excel și suportul pentru foi multiple (prin API-ul său simplu), reprezintă o alegere excelentă care vă va menține codul curat și amprenta de memorie a aplicației mică. Creată de Ruben Vermeersch și inversată din fișiere XLSX de probă, acest modul oferă dezvoltatorilor o metodă simplă, dar eficientă, de a exporta date în format Excel fără complexitatea bibliotecilor mari de manipulare a Excel. Acesta îl face o alegere ideală pentru aplicațiile care trebuie să genereze rapoarte mari din baze de date sau API-uri, datorită naturii sale de streaming, care asigură un consum scăzut de memorie chiar și cu seturi masive de date.
Începerea lucrului cu Node-XLSX-Write
Înainte de a instala Node-XLSX-Writer, trebuie să aveți bibliotecile de dezvoltare libzip instalate pe sistemul dumneavoastră. Biblioteca depinde de aceste legături native pentru a crea fișiere zip (fișierele XLSX sunt practic XML comprimat). Vă rugăm să folosiți comenzile de mai jos pentru o instalare reușită.
Instalați Node-XLSX-Write prin npm
npm install --save xlsx-writerPuteți descărca biblioteca partajată compilată din depozitul GitHub și să o instalați.
Crearea de foi de calcul Excel XLSX în Node.js
Biblioteca open source Node-XLSX-Writer include funcționalități pentru crearea și manipularea fișierelor Excel XLSX în aplicații Node.js. Biblioteca nu necesită Microsoft Excel sau interoperabilitate COM. Construiește programatic fișierul XLSX (care este practic un fișier ZIP cu părți XML). Acest lucru o face potrivită pentru utilizarea pe server în Node.js. Următorul exemplu de cod demonstrează cea mai simplă modalitate de a crea un fișier Excel cu niște date.
Cum să creați un fișier Excel XLSX în aplicații 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!');
Streaming pentru seturi mari de date
Aici Node-XLSX-Writer strălucește cu adevărat. În loc să încarci toate datele în memorie, poți transmite rândurile unul câte unul. Este perfect pentru procesarea rezultatelor interogărilor din baza de date. Biblioteca folosește funcții pentru a emite fiecare înregistrare din baza de date. O scriem imediat ca un nou rând în fișierul Excel. Această abordare menține consumul de memorie constant, indiferent dacă exporți 100 de rânduri sau 1 milion de rânduri.
Cum să efectuați streaming dintr-o bază de date în aplicații 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!');
Stilizare personalizată (font, culoare, borduri)
Deși nu este la fel de extinsă ca suitele complete, biblioteca open source Node-XLSX-Writer oferă opțiuni esențiale de stilizare pentru a conferi rapoartelor dvs. un aspect profesional. Suportă diverse funcții pentru gestionarea stilurilor în foi de calcul, cum ar fi setarea fontului în bold sau italic, stabilirea culorii de fundal și a culorii bordurii, definirea stilului bordurii (subțire, mediu, gros) etc. Exemplul următor arată cum dezvoltatorii pot stiliza rândul de antet în aplicațiile Node.js.
Cum să aplicați stil la rândul de antet prin biblioteca 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();