Ingyenes Node.js API‑k táblázatok létrehozásához és átalakításához

Egy nagy teljesítményű nyílt forráskódú API‑készlet, amely lehetővé teszi a fejlesztők számára, hogy olvassanak, írjanak, módosítsanak, kezeljenek és átalakítsanak Microsoft Excel XLS és XLSX fájlokat más formátumokra a Node.js‑alkalmazásokon belül.

What is Node-XLSX-Writer?

A Node.js fejlesztés világában a jelentések generálása és az adatok exportálása gyakori igények. Míg olyan erőteljes könyvtárak, mint az exceljs léteznek, néha egy olyan megoldásra van szükség, amely kizárólag egy feladatra koncentrál; az XLSX fájlok gyors és hatékony írására, anélkül, hogy a létező fájlok olvasása vagy módosítása okozna plusz terhet. Itt jön képbe a Node-XLSX-Writer, egy könnyű és egyszerű könyvtár, amely pontosan erre a célra készült. A könyvtár egyszerűsége és fókuszált funkcionalitása kiemeli a többi, átfogóbb Excel könyvtár közül, amelyek az olvasást, írást és manipulációt egyaránt kezelik. Ez a modul kizárólag az XLSX fájlok írására összpontosít, így könnyű, könnyen tanulható, gyorsan implementálható és megbízható.

A Node-XLSX-Writer egy könnyű és egyszerű könyvtár, amely kifejezetten az XLSX (Excel) fájlok generálására lett tervezve Node.js alkalmazásokban. Olyan feladatokhoz, mint a CSV-szerű exportok előállítása, plusz előnyökkel, mint az Excel formázási képességei és a többlapos támogatás (az egyszerű API-n keresztül), kiváló választás, amely tisztán tartja a kódot és kicsi memóriát igényel az alkalmazásban. A Ruben Vermeersch által létrehozott és minta XLSX fájlokból visszafejtett modul egyszerű, de hatékony módot kínál a fejlesztőknek az adatok Excel formátumba exportálására, anélkül, hogy a nagyobb Excel manipulációs könyvtárak bonyolultságát kellene kezelniük. Ez ideálissá teszi azokat az alkalmazásokat, amelyeknek nagy jelentéseket kell generálniuk adatbázisokból vagy API-kból, mivel a streaming jellege alacsony memóriahasználatot biztosít még nagy adatkészleteknél is.

Previous Next

Getting Started with Node-XLSX-Write

A Node-XLSX-Writer telepítése előtt biztosítani kell, hogy a rendszerre telepítve legyen a libzip fejlesztői könyvtár. A könyvtárnatív kötésekre támaszkodik a zip fájlok (az XLSX fájlok lényegében tömörített XML) létrehozásához. Kérjük, a sikeres telepítéshez használja a következő parancsokat.

Install Node-XLSX-Write via npm

npm install --save xlsx-writer

A letöltheti a lefordított megosztott könyvtárat a GitHub tárolóból és telepítheti.

Excel XLSX Spreadsheet Creation in Node.js

Az nyílt forráskódú Node-XLSX-Writer könyvtár tartalmazza a funkciókat az Excel XLSX fájlok létrehozásához és kezeléséhez a Node.js alkalmazásokon belül. A könyvtár nem igényel Microsoft Excel vagy COM interoperabilitást. Programozottan állítja össze az XLSX fájlt (amely lényegében egy XML részeket tartalmazó ZIP fájl). Ez alkalmassá teszi kiszolgálóoldali Node.js használatra. Az alábbi kódpélda bemutatja, hogyan hozhatunk létre a legegyszerűbb módon egy Excel fájlt néhány adatokkal.

How to Create Excel XLSX File inside 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 Large Datasets

Itt mutatkozik meg igazán a Node-XLSX-Writer ereje. Ahelyett, hogy minden adatot a memóriába töltene, soronként tudjuk streamelni az adatokat. Ez tökéletes a adatbázis-lekérdezési eredmények feldolgozásához. A könyvtár funkciókat használ az egyes rekordok kibocsátásához az adatbázisból. Azonnal írjuk új sorba az Excel fájlban. Ez a megközelítés állandó memórihasználatot biztosít, függetlenül attól, hogy 100 sor vagy 1 millió sort exportálunk.

How to Perform Streaming from a Database inside 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!');

Custom Styling (Font, Color, Borders)

Még ha nem is annyira kiterjedt, mint egy teljes funkcionalitású csomag, a nyílt forráskódú Node-XLSX-Writer könyvtár lényeges stílusbeállítási lehetőségeket biztosít, hogy a jelentések professzionálisnak tűnjenek. Számos funkciót támogat a táblázatok stílusának kezelésére, például a betűtípus vastagságát vagy dőlt formátumát, a háttérszín és a szegélyszín beállítását, a szegély stílusának meghatározását (vékony, közepes, vastag) és így tovább. Az alábbi példa bemutatja, hogyan tudják a szoftverfejlesztők a fejléc sort stílusozni a Node.js alkalmazásokban.

How to Apply Style to Header Row via Node.js Library?

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();

 Magyar