Open‑source Node.js‑bibliotek for å skrive data til Excel‑filer
Et dedikert open‑source Node.js Excel‑XLSX‑bibliotek som gir et enkelt API for å generere .xlsx (Excel)‑filer og skrive data til Excel‑filer i strømmende modus.
Hva er Node‑XLSX‑Writer?
I Node.js‑utvikling er generering av rapporter og eksport av data vanlige krav. Selv om kraftige biblioteker som exceljs finnes, trenger du noen ganger en løsning som er skåret til én oppgave: å skrive XLSX‑filer raskt og effektivt, uten overhead fra lesing eller manipulering av eksisterende filer. Her kommer Node-XLSX-Writer, et lett og enkelt bibliotek laget akkurat for dette formålet. Biblioteket skiller seg ut med sin enkelhet og fokuserte funksjonalitet. I motsetning til omfattende Excel‑biblioteker som håndterer lesing, skriving og manipulering, konsentrerer dette modulen seg kun om å skrive XLSX‑filer, noe som gjør det lett, lett å lære, raskt å implementere og pålitelig.
Node-XLSX-Writer er et lett og enkelt bibliotek designet spesielt for å generere XLSX (Excel)‑filer i Node.js‑applikasjoner. For oppgaver som å lage CSV‑lignende eksport med de ekstra fordelene av Excels formatering og støtte for flere ark (gjennom sitt enkle API), er det et utmerket valg som holder koden ren og applikasjonens minneavtrykk lite. Opprettet av Ruben Vermeersch og reverse‑engineered fra eksempelfiler, gir dette modulen utviklere en enkel, men effektiv måte å eksportere data til Excel‑format uten kompleksiteten i større Excel‑manipuleringsbiblioteker. Det gjør det til et ideelt valg for applikasjoner som må generere store rapporter fra databaser eller API‑er, da streaming‑karakteristikken sikrer lavt minneforbruk selv med massive datasett.
Kom i gang med Node‑XLSX‑Write
Før du installerer Node-XLSX-Writer, må du ha libzip-utviklingsbiblioteker installert på systemet ditt. Biblioteket er avhengig av disse native bindingene for å lage zip‑filer (XLSX‑filer er i bunn og grunn zip‑et XML). Bruk følgende kommandoer for en vellykket installasjon.
Installer Node-XLSX-Write via npm
npm install --save xlsx-writerDu kan laste ned den kompilerte delte biblioteket fra GitHub‑repoet og installere det.
Opprettelse av Excel‑XLSX‑regneark i Node.js
Den åpne kildekode‑biblioteket Node‑XLSX‑Writer har lagt til funksjoner for å opprette og håndtere Excel‑XLSX‑filer i Node.js‑applikasjoner. Biblioteket trenger verken Microsoft Excel eller COM‑interop. Det bygger XLSX‑filen (som i bunn og grunn er en ZIP‑fil med XML‑deler) programmatisk. Dette gjør den egnet for bruk på server‑siden i Node.js. Følgende kodeeksempel viser den enkleste måten å opprette en Excel‑fil med litt data.
Hvordan lage en Excel XLSX-fil i Node.js‑apper?
// 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ømming for store datasett
Dette er hvor Node‑XLSX‑Writer virkelig skinner. I stedet for å laste inn all data i minnet, kan du strømme rader én etter én. Dette er perfekt for behandling av database‑spørringsresultater. Biblioteket bruker funksjoner for å sende ut hver post fra databasen. Vi skriver den umiddelbart som en ny rad i Excel‑filen. Denne tilnærmingen holder minnebruk konstant, uansett om du eksporterer 100 rader eller én million rader.
Hvordan utføre streaming fra en database i Node.js‑apper?
// 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!');
Tilpasset styling (font, farge, rammer)
Selv om den ikke er like omfattende som komplette verktøykasser, gir den åpne kildekode‑biblioteket Node‑XLSX‑Writer essensielle stilalternativer for å få rapportene dine til å se profesjonelle ut. Den støtter ulike funksjoner for håndtering av stiler i regneark, som å gjøre skrifttypen fet eller kursiv, sette bakgrunns‑ og kantfarge, definere kantstilen ("thin", "medium", "thick") og så videre. Følgende eksempel viser hvordan programvareutviklere kan style en overskriftsrad i Node.js‑apper.
Hvordan bruke stil på overskriftsrad 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();