Open source Node.js-bibliotek til at skrive data til Excel-filer
Et dedikeret open source Node.js Excel XLSX-bibliotek, der giver et enkelt API til at generere .xlsx (Excel)-filer og skrive data til Excel-filer i streamingformat.
Hvad er Node-XLSX-Writer?
I Node.js-udviklingsverdenen er generering af rapporter og eksport af data almindelige krav. Selvom kraftfulde biblioteker som exceljs findes, har man nogle gange brug for en løsning, der er laserfokuseret på én opgave; at skrive XLSX-filer hurtigt og effektivt, uden overhead fra læsning eller manipulation af eksisterende filer. Her kommer Node-XLSX-Writer, et letvægts- og enkelt bibliotek designet præcist til dette formål. Biblioteket skiller sig ud med sin enkelhed og fokuserede funktionalitet. I modsætning til omfattende Excel-biblioteker, der håndterer læsning, skrivning og manipulation, koncentrerer dette modul sig udelukkende om at skrive XLSX-filer, hvilket gør det letvægts, nemt at lære, hurtig at implementere og pålideligt.
Node-XLSX-Writer er et letvægts- og enkelt bibliotek designet specifikt til at generere XLSX (Excel)-filer i Node.js-applikationer. Til opgaver som at generere CSV-lignende eksporter med de ekstra fordele ved Excels formatering og understøttelse af flere ark (gennem det enkle API), er det et fremragende valg, der holder din kode ren og din applikations hukommelsesforbrug lille. Biblioteket er oprettet af Ruben Vermeersch og reverse-engineered fra eksempelfiler i XLSX, og dette modul giver udviklere en simpel, men effektiv måde at eksportere data til Excel-format uden kompleksiteten fra større Excel-manipuleringsbiblioteker. Dette gør det til et ideelt valg for applikationer, der skal generere store rapporter fra databaser eller API'er, da dets streaming‑karakter sikrer lavt hukommelsesforbrug selv ved massive datasæt.
Kom i gang med Node-XLSX-Write
Før du installerer Node-XLSX-Writer, skal du have libzip-udviklingsbiblioteker installeret på dit system. Biblioteket er afhængigt af disse native bindings for at oprette zip-filer (XLSX-filer er i princippet zip‑pakket XML). Brug venligst følgende kommandoer for en vellykket installation.
Installer Node-XLSX-Write via npm
npm install --save xlsx-writerDu kan downloade det kompilerede delte bibliotek fra GitHub-repositoriet og installere det.
Oprettelse af Excel XLSX-regneark i Node.js
Dette open source Node-XLSX-Writer-bibliotek har inkluderet funktioner til at oprette og håndtere Excel XLSX-filer i Node.js-applikationer. Biblioteket kræver ikke Microsoft Excel eller COM-interoperabilitet. Det konstruerer XLSX-filen (som i hovedtræk er en ZIP-fil af XML‑dele) programmatisk. Dette gør det egnet til server‑side brug af Node.js. Følgende kodeeksempel viser den simpleste måde at oprette en Excel-fil med noget data på.
Hvordan opretter man en Excel XLSX-fil i Node.js-apps?
// 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 for store datasæt
Det er her, Node-XLSX-Writer virkelig skinner. I stedet for at indlæse alle data i hukommelsen, kan du streame rækker én efter én. Dette er perfekt til at behandle resultater fra database‑forespørgsler. Biblioteket bruger funktioner til at udsende hver post fra databasen. Vi skriver den straks som en ny række i Excel-filen. Denne tilgang holder hukommelsesforbruget konstant, uanset om du eksporterer 100 rækker eller 1 million rækker.
Hvordan udfører man streaming fra en database i Node.js-apps?
// 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!');
Brugerdefineret styling (Skrift, Farve, Kanter)
Selvom den ikke er så omfattende som fuldt udstyrede pakker, giver det open source Node-XLSX-Writer-bibliotek essentielle styling‑muligheder for at få dine rapporter til at se professionelle ud. Det understøtter forskellige funktioner til håndtering af stilarter i regneark, såsom at gøre skrifttypen fed eller kursiv, indstille baggrundsfarve og kantfarve, definere kantstil (tynd, medium, tyk) osv. Følgende eksempel viser, hvordan softwareudviklere kan style overskriftsrække i Node.js‑apps.
Hvordan anvender man stil på overskriftsrække 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();