1. Các sản phẩm
  2.   Bảng tính
  3.   Node.js
  4.   Node-XLSX-Writer
 
  

Thư viện Node.js mã nguồn mở để ghi dữ liệu vào tệp Excel

Thư viện Node.js Excel XLSX mã nguồn mở chuyên dụng, cung cấp API đơn giản để tạo tệp .xlsx (Excel) và ghi dữ liệu vào tệp Excel theo cách truyền dữ liệu liên tục.

Node-XLSX-Writer là gì?

Trong thế giới phát triển Node.js, việc tạo báo cáo và xuất dữ liệu là các yêu cầu phổ biến. Mặc dù có những thư viện mạnh mẽ như exceljs, đôi khi bạn cần một giải pháp tập trung vào một nhiệm vụ duy nhất; viết các tệp XLSX nhanh chóng và hiệu quả, mà không tốn kém việc đọc hoặc thao tác các tệp đã tồn tại. Đây là Node-XLSX-Writer, một thư viện nhẹ và đơn giản được thiết kế chính xác cho mục đích này. Thư viện nổi bật với sự đơn giản và chức năng tập trung. Không giống như các thư viện Excel toàn diện xử lý đọc, ghi và thao tác, mô-đun này chỉ tập trung vào việc ghi tệp XLSX, khiến nó nhẹ, dễ học, triển khai nhanh và đáng tin cậy.

Node-XLSX-Writer là một thư viện nhẹ và đơn giản được thiết kế riêng để tạo các tệp XLSX (Excel) trong các ứng dụng Node.js. Đối với các nhiệm vụ như tạo các xuất dữ liệu dạng CSV với lợi thế bổ sung của định dạng Excel và hỗ trợ đa trang tính (thông qua API đơn giản của nó), đây là một lựa chọn tuyệt vời giúp giữ mã nguồn của bạn sạch sẽ và giảm footprint bộ nhớ của ứng dụng. Được tạo ra bởi Ruben Vermeersch và được đảo ngược từ các tệp mẫu XLSX, mô-đun này cung cấp cho các nhà phát triển một cách đơn giản nhưng hiệu quả để xuất dữ liệu sang định dạng Excel mà không gặp độ phức tạp của các thư viện thao tác Excel lớn hơn. Điều này làm cho nó trở thành lựa chọn lý tưởng cho các ứng dụng cần tạo báo cáo lớn từ cơ sở dữ liệu hoặc API, vì tính năng streaming của nó đảm bảo việc sử dụng bộ nhớ thấp ngay cả với các tập dữ liệu khổng lồ.

Previous Next

Bắt đầu với Node-XLSX-Write

Trước khi cài đặt Node-XLSX-Writer, bạn cần cài đặt các thư viện phát triển libzip trên hệ thống của mình. Thư viện này phụ thuộc vào các liên kết gốc để tạo tệp zip (các tệp XLSX thực chất là XML được nén). Vui lòng sử dụng các lệnh sau để cài đặt thành công.

Cài đặt Node-XLSX-Write qua npm

npm install --save xlsx-writer

Bạn có thể tải xuống thư viện chia sẻ đã biên dịch từ kho GitHub và cài đặt nó.

Tạo Bảng tính Excel XLSX trong Node.js

Thư viện nguồn mở Node-XLSX-Writer đã bao gồm các tính năng để tạo và xử lý các tệp Excel XLSX trong các ứng dụng Node.js. Thư viện không yêu cầu Microsoft Excel hoặc COM interop. Nó tạo ra tệp XLSX (thực chất là một tệp ZIP chứa các phần XML) một cách lập trình. Điều này làm cho nó phù hợp cho việc sử dụng phía máy chủ Node.js. Ví dụ mã dưới đây minh họa cách đơn giản nhất để tạo một tệp Excel với một số dữ liệu.

Cách tạo tệp Excel XLSX trong ứng dụng 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!');

Truyền dữ liệu liên tục cho các bộ dữ liệu lớn

Đây là nơi Node-XLSX-Writer thực sự tỏa sáng. Thay vì tải toàn bộ dữ liệu vào bộ nhớ, bạn có thể phát luồng các hàng một cách tuần tự. Điều này hoàn hảo cho việc xử lý kết quả truy vấn cơ sở dữ liệu. Thư viện sử dụng các hàm để phát ra mỗi bản ghi từ cơ sở dữ liệu. Chúng tôi ngay lập tức ghi nó như một hàng mới trong tệp Excel. Cách tiếp cận này giữ cho việc sử dụng bộ nhớ luôn ổn định, bất kể bạn đang xuất 100 hàng hay 1 triệu hàng.

Cách thực hiện streaming từ cơ sở dữ liệu trong ứng dụng 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!');

Tùy chỉnh kiểu dáng (Phông chữ, Màu sắc, Đường viền)

Mặc dù không rộng rãi như các bộ công cụ đầy đủ tính năng, thư viện nguồn mở Node-XLSX-Writer cung cấp các tùy chọn định dạng thiết yếu để các báo cáo của bạn trông chuyên nghiệp. Nó hỗ trợ nhiều tính năng để xử lý kiểu dáng trong bảng tính, chẳng hạn như đặt phông chữ in đậm hoặc nghiêng, màu nền và màu viền, định nghĩa kiểu viền (mỏng, vừa, dày) và nhiều hơn nữa. Ví dụ sau đây cho thấy cách các nhà phát triển phần mềm có thể tạo kiểu cho hàng tiêu đề trong các ứng dụng Node.js.

Cách áp dụng kiểu cho hàng tiêu đề qua thư viện 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();

 Tiếng Việt