1. produkty
  2.   Tabulka
  3.   Node.js
  4.   Node-XLSX-Writer
 
  

Open source knihovna Node.js pro zápis dat do Excel souborů

Vyhrazená open source knihovna Node.js Excel XLSX, která poskytuje jednoduché API pro generování .xlsx (Excel) souborů a zápis dat do Excel souborů ve streamovacím režimu.

Co je Node-XLSX-Writer?

Ve světě vývoje v Node.js jsou generování reportů a export dat běžné požadavky. Zatímco existují výkonné knihovny jako exceljs, někdy potřebujete řešení, které se soustředí výhradně na jeden úkol – rychlé a efektivní zápisy souborů XLSX, bez režie čtení nebo manipulace s existujícími soubory. Přichází na řadu Node-XLSX-Writer, lehká a přímočará knihovna navržená právě pro tento účel. Knihovna vyniká svou jednoduchostí a zaměřením na konkrétní funkčnost. Na rozdíl od komplexních Excel knihoven, které zpracovávají čtení, zápis a manipulaci, se tento modul soustředí výhradně na zápis souborů XLSX, což zajišťuje nízkou zátěž, snadnou naučitelnost, rychlou implementaci a spolehlivost.

Node-XLSX-Writer je lehká a přímočará knihovna určená speciálně pro generování souborů XLSX (Excel) v aplikacích Node.js. Pro úlohy jako generování exportů ve stylu CSV s výhodou formátování Excelu a podpory více listů (prostřednictvím jednoduchého API) je to výborná volba, která udrží váš kód čistý a paměťovou náročnost aplikace nízkou. Vytvořil ji Ruben Vermeersch a je odvozen z ukázkových souborů XLSX. Tento modul poskytuje vývojářům jednoduchý a účinný způsob exportu dat do formátu Excel, aniž by bylo nutné zvládat komplexitu rozsáhlejších knihoven pro manipulaci s Excelem. Díky tomu je ideální pro aplikace, které potřebují generovat velké reporty z databází nebo API, protože jeho streamingová povaha zajišťuje nízké využití paměti i u masivních datových sad.

Previous Next

Začínáme s Node-XLSX-Write

Před instalací Node-XLSX-Writer musíte mít v systému nainstalovány vývojové knihovny libzip. Knihovna závisí na těchto nativních vazbách pro vytváření zip souborů (XLSX soubory jsou v podstatě zkomprimovaný XML). Použijte prosím následující příkazy pro úspěšnou instalaci.

Instalace Node-XLSX-Write pomocí npm

npm install --save xlsx-writer

Můžete stáhnout zkompilovanou sdílenou knihovnu z repozitáře GitHub a nainstalovat ji.

Vytváření Excel XLSX tabulek v Node.js

Open‑source knihovna Node‑XLSX‑Writer obsahuje funkce pro vytváření a manipulaci s Excel XLSX soubory v aplikacích Node.js. Knihovna nevyžaduje Microsoft Excel ani COM interop. Programově konstruuje XLSX soubor (který je v podstatě ZIP soubor XML částí). To ji dělá vhodnou pro server‑side používání v Node.js. Následující ukázkový kód demonstruje nejjednodušší způsob, jak vytvořit Excel soubor s některými daty.

Jak vytvořit soubor Excel XLSX v aplikacích 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!');

Streamování velkých datových sad

Zde Node‑XLSX‑Writer skutečně vyniká. Místo načítání všech dat do paměti můžete řádky streamovat po jednom. To je ideální pro zpracování výsledků dotazů do databáze. Knihovna používá funkce k emitování každého záznamu z databáze. Okamžitě jej zapíšeme jako nový řádek do Excel souboru. Tento přístup udržuje využití paměti konstantní, ať už exportujete 100 řádků nebo 1 milion řádků.

Jak provádět streamování dat z databáze v aplikacích 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!');

Vlastní stylování (písmo, barva, ohraničení)

Ačkoliv není tak rozsáhlá jako plnohodnotné balíky, open‑source knihovna Node‑XLSX‑Writer poskytuje základní možnosti stylování, aby vaše výstupy vypadaly profesionálně. Podporuje různé funkce pro práci se styly v tabulkách, například tučné nebo kurzívní písmo, nastavení barvy pozadí a barvy okrajů, definování stylu okraje (tenký, střední, silný) a podobně. Následující příklad ukazuje, jak mohou vývojáři stylovat záhlaví řádku v aplikacích Node.js.

Jak aplikovat styl na řádek hlavičky pomocí knihovny 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();

 Čeština