Öppen källkod Node.js-bibliotek för att skriva data till Excel-filer
Ett dedikerat öppet källkod Node.js Excel XLSX-bibliotek som tillhandahåller ett enkelt API för att generera .xlsx (Excel)-filer och skriva data till Excel-filer på ett strömmande sätt.
Vad är Node-XLSX-Writer?
I Node.js‑utvecklingsvärlden är det vanligt att behöva generera rapporter och exportera data. Även om kraftfulla bibliotek som exceljs finns, så behövs ibland en lösning som är laserfokuserad på en enda uppgift; att snabbt och effektivt skriva XLSX‑filer, utan overhead för att läsa eller manipulera befintliga filer. Här kommer Node-XLSX-Writer, ett lättviktigt och enkelt bibliotek som är exakt utformat för detta ändamål. Biblioteket särskiljer sig genom sin enkelhet och fokuserade funktionalitet. Till skillnad från omfattande Excel‑bibliotek som hanterar läsning, skrivning och manipulation, koncentrerar den här modulen sig enbart på att skriva XLSX‑filer, vilket gör den lätt, lätt att lära sig, snabb att implementera och pålitlig.
Node-XLSX-Writer är ett lättviktigt och enkelt bibliotek designat specifikt för att generera XLSX (Excel)‑filer i Node.js‑applikationer. För uppgifter som att generera CSV‑liknande export med de extra fördelarna av Excels formatering och stöd för flera blad (genom dess raka API) är det ett utmärkt val som håller din kod ren och applikationens minnesavtryck litet. Skapat av Ruben Vermeersch och reverse‑engineerat från exempel‑XLSX‑filer, ger denna modul utvecklare ett enkelt men effektivt sätt att exportera data till Excel‑format utan komplexiteten hos större Excel‑manipuleringsbibliotek. Detta gör det till ett idealiskt val för applikationer som behöver generera stora rapporter från databaser eller API:er, då dess strömningskaraktär säkerställer lågt minnesutnyttjande även med massiva dataset.
Kom igång med Node-XLSX-Write
Innan du installerar Node-XLSX-Writer måste du ha libzip-utvecklingsbibliotek installerade på ditt system. Biblioteket är beroende av dessa inbyggda bindningar för att skapa zip‑filer (XLSX‑filer är i princip zip‑ade XML). Använd följande kommandon för en lyckad installation.
Installera Node-XLSX-Write via npm
npm install --save xlsx-writerDu kan ladda ner det kompilerade delade biblioteket från GitHub-repot och installera det.
Skapande av Excel XLSX-kalkylblad i Node.js
Det öppna källkods‑biblioteket Node-XLSX-Writer har inkluderat funktioner för att skapa och hantera Excel XLSX‑filer inom Node.js‑applikationer. Biblioteket kräver inte Microsoft Excel eller COM‑interop. Det konstruerar XLSX‑filen (som i princip är en ZIP‑fil med XML‑delar) programmässigt. Detta gör det lämpligt för server‑side Node.js‑användning. Följande kodexempel demonstrerar det enklaste sättet att skapa en Excel‑fil med någon data.
Hur skapar man en Excel XLSX‑fil i Node.js‑appar?
// 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!');
Strömning för stora dataset
Det är här Node-XLSX-Writer verkligen briljerar. Istället för att ladda all data i minnet kan du strömma rader en efter en. Detta är perfekt för att bearbeta resultat från databasfrågor. Biblioteket använder funktioner för att avge varje post från databasen. Vi skriver den omedelbart som en ny rad i Excel‑filen. Detta tillvägagångssätt håller minnesanvändningen konstant, oavsett om du exporterar 100 rader eller 1 miljon rader.
Hur utför man strömning från en databas i Node.js‑appar?
// 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!');
Anpassad styling (typsnitt, färg, kanter)
Även om den inte är lika omfattande som fullständiga sviter, erbjuder det öppna källkods‑biblioteket Node-XLSX-Writer grundläggande stilalternativ för att få dina rapporter att se professionella ut. Det stödjer olika funktioner för att hantera stilar i kalkylblad, såsom att göra typsnittet fetstil eller kursivt, sätta bakgrunds‑ och ramfärg, definiera kantstil (tunn, medel, tjock) och så vidare. Följande exempel visar hur mjukvaruutvecklare kan formatera rubrikraden i Node.js‑appar.
Hur applicerar man stil på rubrikraden via Node.js‑biblioteket?
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();