Perpustakaan Node.js Sumber Terbuka untuk Menulis Data ke Fail Excel
Perpustakaan Node.js Excel XLSX Sumber Terbuka Khusus yang Menyediakan API Mudah untuk Menjana Fail .xlsx (Excel) dan Menulis Data ke Fail Excel secara Penstriman.
Apakah Node-XLSX-Writer?
Dalam dunia pembangunan Node.js, menjana laporan dan mengeksport data merupakan keperluan biasa. Walaupun terdapat perpustakaan kuat seperti exceljs, kadang-kadang anda memerlukan penyelesaian yang fokus sepenuhnya pada satu tugas; menulis fail XLSX dengan cepat dan cekap, tanpa beban tambahan membaca atau memanipulasi fail sedia ada. Di sinilah Node-XLSX-Writer, perpustakaan ringan dan mudah yang direka khusus untuk tujuan ini. Perpustakaan ini menonjol dengan kesederhanaannya dan fungsi yang terfokus. Berbeza dengan perpustakaan Excel yang lengkap yang mengendalikan pembacaan, penulisan, dan manipulasi, modul ini hanya memusatkan pada penulisan fail XLSX, menjadikannya ringan, mudah dipelajari, pelaksanaan cepat dan boleh diandalkan.
Node-XLSX-Writer adalah perpustakaan ringan dan mudah yang direka khusus untuk menjana fail XLSX (Excel) dalam aplikasi Node.js. Untuk tugas seperti menjana eksport serupa CSV dengan manfaat tambahan format Excel dan sokongan lembaran berbilang (melalui API yang mudah), ia adalah pilihan yang sangat baik yang akan memastikan kod anda bersih dan jejak memori aplikasi anda kecil. Dibuat oleh Ruben Vermeersch dan dihasilkan semula daripada fail XLSX contoh, modul ini menyediakan pembangun dengan cara yang mudah namun berkesan untuk mengeksport data ke dalam format Excel tanpa kerumitan perpustakaan manipulasi Excel yang lebih besar. Ini menjadikannya pilihan ideal untuk aplikasi yang perlu menjana laporan besar daripada pangkalan data atau API, kerana sifat penstrimannya memastikan penggunaan memori yang rendah walaupun dengan set data yang besar.
Mula Menggunakan Node-XLSX-Write
Sebelum memasang Node-XLSX-Writer, anda perlu mempunyai perpustakaan pembangunan libzip dipasang pada sistem anda. Perpustakaan ini bergantung pada ikatan natif ini untuk membuat fail zip (fail XLSX sebenarnya ialah XML yang dimampatkan). Sila gunakan perintah berikut untuk pemasangan yang berjaya.
Pasang Node-XLSX-Write melalui npm
npm install --save xlsx-writerAnda boleh muat turun perpustakaan berkongsi yang dikompilasi dari repositori GitHub dan memasangnya.
Penciptaan Spreadsheet Excel XLSX dalam Node.js
Perpustakaan sumber terbuka Node-XLSX-Writer telah menyertakan ciri-ciri untuk mencipta dan mengendalikan fail Excel XLSX dalam aplikasi Node.js. Perpustakaan ini tidak memerlukan Microsoft Excel atau interop COM. Ia membina fail XLSX (yang sebenarnya merupakan fail ZIP bahagian XML) secara programatik. Ini menjadikannya sesuai untuk penggunaan Node.js sisi pelayan. Contoh kod berikut menunjukkan cara paling mudah untuk mencipta fail Excel dengan beberapa data.
Cara Membuat Fail Excel XLSX dalam Aplikasi 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!');
Penstriman untuk Set Data Besar
Inilah tempat Node-XLSX-Writer benar-benar bersinar. Daripada memuat semua data ke dalam memori, anda boleh menstrim baris satu demi satu. Ini sempurna untuk memproses hasil pertanyaan pangkalan data. Perpustakaan menggunakan fungsi untuk mengeluarkan setiap rekod dari pangkalan data. Kami segera menulisnya sebagai baris baru dalam fail Excel. Pendekatan ini mengekalkan penggunaan memori tetap, sama ada anda mengeksport 100 baris atau 1 juta baris.
Cara Melakukan Penstriman dari Pangkalan Data dalam Aplikasi 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!');
Penggayaan Tersuai (Fon, Warna, Sempadan)
Walaupun tidak seluas suite lengkap, perpustakaan sumber terbuka Node-XLSX-Writer menyediakan pilihan gaya penting untuk menjadikan laporan anda kelihatan profesional. Ia menyokong pelbagai ciri untuk mengendalikan gaya dalam lembaran kerja, seperti menjadikan fon tebal atau condong, menetapkan warna latar belakang dan warna sempadan, menentukan gaya sempadan (nipis, sederhana, tebal) dan sebagainya. Contoh berikut menunjukkan bagaimana pembangun perisian boleh menata baris tajuk dalam aplikasi Node.js.
Cara Menerapkan Gaya pada Baris Tajuk melalui Perpustakaan 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();