1. Məhsullar
  2.   Elektron cədvəl
  3.   Node.js
  4.   Node-XLSX-Writer
 
  

Məlumatları Excel Fayllarına Yazmaq üçün Açıq Mənbəli Node.js Kitabxanası

Axın şəklində .xlsx (Excel) faylları yaratmaq və Excel fayllarına məlumat yazmaq üçün sadə API təqdim edən xüsusi Açıq Mənbəli Node.js Excel XLSX Kitabxanası.

Node-XLSX-Writer nədir?

Node.js inkişafı dünyasında raportların yaradılması və məlumatların ixracı ümumi tələblərdəndir. Exceljs kimi güclü kitabxanalar mövcud olsa da, bəzən yalnız bir işə – XLSX fayllarını sürətli və səmərəli şəkildə yazmağa – yönəlmiş həllə ehtiyac duyulur, mövcud faylların oxunması və ya manipulyasiyası ilə bağlı yükləmələr olmadan. Budur, Node-XLSX-Writer, bu məqsəd üçün xüsusi olaraq hazırlanmış yüngül və sadə bir kitabxanadır. Kitabxana sadəliyi və yönəlmiş funksionallığı ilə seçilir. Oxuma, yazma və manipulyasiyanı əhatə edən geniş Excel kitabxanalarından fərqli olaraq, bu modul yalnız XLSX fayllarının yazılmasına yönəlir, bu da onu yüngül, asan öyrənilə bilən, sürətli tətbiq olunan və etibarlı edir.

Node-XLSX-Writer, Node.js tətbiqlərində XLSX (Excel) fayllarını yaratmaq üçün xüsusi olaraq hazırlanmış yüngül və sadə bir kitabxanadır. CSV‑yə bənzər ixraclar yaratmaq, Excel‑in formatlama üstünlükləri və çoxsəhifəli dəstək (sadə API‑si vasitəsilə) əlavə edildikdə, kodunuzu təmiz saxlayacaq və tətbiqin yaddaş izini kiçik tutacaq mükəmməl bir seçimdir. Ruben Vermeersch tərəfindən yaradılıb və nümunə XLSX fayllarından tərs mühəndislik yolu ilə hazırlanmış bu modul, inkişaf etdiricilərə böyük Excel manipulyasiya kitabxanalarının mürəkkəbliyi olmadan Excel formatına məlumat ixrac etmək üçün sadə, amma təsirli bir yol təqdim edir. Bu, xüsusilə verilənlər bazalarından və ya API‑lərdən böyük raportlar yaratmalı olan tətbiqlər üçün ideal seçimdir, çünki onun axın təbiəti böyük məlumat dəstləri üçün belə aşağı yaddaş istifadəsini təmin edir.

Previous Next

Node-XLSX-Write ilə Başlanğıc

Node-XLSX-Writer quraşdırmadan əvvəl sisteminizdə libzip inkişaf kitabxanalarının quraşdırılmış olması lazımdır. Kitabxana zip faylları yaratmaq üçün bu yerli bağlama (native bindings) üzərinə əsaslanır (XLSX faylları əsasən sıxılmış XML‑dir). Uğurlu quraşdırma üçün aşağıdakı əmrlərdən istifadə edin.

Node-XLSX-Write‑i npm vasitəsilə quraşdırın

npm install --save xlsx-writer

GitHub deposundan tərtib edilmiş paylaşılan kitabxananı yükləyə bilərsiniz və quraşdıra bilərsiniz.

Node.js-də Excel XLSX Elektron Cədvəlinin Yaradılması

Açıq mənbəli Node-XLSX-Writer kitabxanası Node.js tətbiqlərində Excel XLSX fayllarını yaratmaq və idarə etmək üçün funksiyalar əlavə etmişdir. Kitabxana Microsoft Excel və ya COM interop‑a ehtiyac duymur. XLSX faylını (əsasən XML parçalarının ZIP faylı) proqram vasitəsilə yaradır. Bu, server‑tərəfli Node.js istifadəsi üçün uyğundur. Aşağıdakı kod nümunəsi bəzi məlumatlarla Excel faylı yaratmağın ən sadə yolunu göstərir.

Node.js tətbiqlərində Excel XLSX faylı necə yaratmaq olar?

// 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!');

Böyük Məlumat Dəstləri üçün Axın

Burada Node-XLSX-Writer həqiqətən parlayır. Bütün məlumatları yaddaşa yükləmək əvəzinə, sətirləri bir‑bir axına (stream) verə bilərsiniz. Bu, verilənlər bazası sorğu nəticələrini emal etmək üçün mükəmməldir. Kitabxana funksiyalar vasitəsilə verilənlər bazasından hər bir qeydi yayır. Biz onu dərhal yeni bir sətir kimi Excel faylına yazırıq. Bu yanaşma yaddaş istifadəsini sabit saxlayır, istər 100 sətir, istərsə də 1 milyon sətir ixrac edirsinizsə də.

Node.js tətbiqlərində verilənlər bazasından axın (streaming) necə həyata keçirmək olar?

// 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!');

Xüsusi Stil (Şrift, Rəng, Kənarlar)

Tam funksional suite‑lər qədər geniş olmasa da, açıq mənbəli Node-XLSX-Writer kitabxanası raportlarınızı peşəkar etməsi üçün əsas stil seçimləri təqdim edir. O, cədvəllərdə stilləri idarə etmək üçün bir sıra funksiyaları dəstəkləyir, məsələn şriftin qalın və ya şriftli olması, fon rənginin və kənar rənginin təyin edilməsi, kənar stilinin (incə, orta, qalın) müəyyən edilməsi və s. Aşağıdakı nümunə proqram inkişaf etdiricilərinin Node.js tətbiqlərində başlıq sətirini necə stilizə edə biləcəyini göstərir.

Node.js kitabxanası vasitəsilə başlıq sətrinə stil necə tətbiq etmək olar?

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

 Azəri