Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mengeksport nodejs ke excel

Bagaimana untuk mengeksport nodejs ke excel

王林
王林asal
2023-05-12 10:25:063297semak imbas

Excel ialah perisian pejabat biasa yang digunakan oleh banyak perniagaan dan organisasi untuk analisis dan pemprosesan data. Dalam pembangunan web, selalunya perlu mengeksport beberapa data ke jadual Excel untuk dimuat turun dan dilihat oleh pengguna. Dalam artikel ini, kami akan menunjukkan kepada anda cara mengeksport data ke dokumen Excel menggunakan Node.js.

1. Pasang modul yang diperlukan

Dalam Node.js, kami boleh menggunakan modul pihak ketiga untuk mengeksport data ke dalam dokumen Excel. Antaranya, dua modul yang paling biasa digunakan ialah xlsx dan exceljs. Sebelum menggunakan modul ini, kita perlu memasangnya terlebih dahulu:

$ npm install xlsx exceljs

2 Gunakan modul xlsx untuk mengeksport Excel

xlsx ialah modul JavaScript yang berkuasa dan mudah digunakan untuk mengeksport data ke. dokumen Excel. Ia menyokong berbilang format termasuk XLSX, XLS, ODS, CSV, dll.

Berikut ialah contoh mudah yang menunjukkan cara mengeksport tatasusunan yang mengandungi nama, umur dan jantina ke jadual Excel:

const fs = require('fs');
const XLSX = require('xlsx');

const data = [
  ['Name', 'Age', 'Gender'],
  ['Amy', 25, 'Female'],
  ['Bob', 30, 'Male'],
  ['Cathy', 27, 'Female']
];

const workbook = XLSX.utils.book_new();
const worksheet = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
const filename = 'data.xlsx';
XLSX.writeFile(workbook, filename);
console.log(`File ${filename} is written successfully`);

Dalam kod di atas, kami mula-mula mencipta tatasusunan yang mengandungi data Tatasusunan dua dimensi. Kami kemudian menukar tatasusunan ini kepada objek helaian menggunakan kaedah XLSX.utils.aoa_to_sheet(). Seterusnya, kami mencipta objek buku kerja dan menambah helaian pada buku kerja menggunakan kaedah XLSX.utils.book_append_sheet(). Akhir sekali, kami menulis buku kerja ke fail menggunakan kaedah XLSX.writeFile().

Selepas melaksanakan kod di atas, kami akan mendapat fail Excel bernama data.xlsx, yang mengandungi data yang kami eksport.

3. Eksport Excel menggunakan modul exceljs

exceljs ialah satu lagi modul Node.js yang popular untuk mengeksport data ke dalam dokumen Excel. Ia mempunyai lebih banyak ciri daripada xlsx, seperti sokongan untuk berbilang lembaran kerja, pemformatan sel, carta, dsb.

Berikut ialah contoh penggunaan exceljs untuk mengeksport jadual Excel:

const fs = require('fs');
const ExcelJS = require('exceljs');

const data = [
  ['Name', 'Age', 'Gender'],
  ['Amy', 25, 'Female'],
  ['Bob', 30, 'Male'],
  ['Cathy', 27, 'Female']
];

const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('Sheet1');
data.forEach(row => worksheet.addRow(row));
const filename = 'data.xlsx';
workbook.xlsx.writeFile(filename)
  .then(() => console.log(`File ${filename} is written successfully`));

Dalam kod di atas, kami mula-mula mencipta tatasusunan dua dimensi yang mengandungi data. Kemudian, kami mencipta objek ExcelJS.Workbook dan menambah lembaran kerja menggunakan kaedah addWorksheet(). Seterusnya, kami melingkari tatasusunan dan menambah setiap baris data pada lembaran kerja menggunakan kaedah addRow(). Akhir sekali, kami menulis buku kerja ke fail menggunakan kaedah writeFile().

Berbeza daripada xlsx, exceljs perlu menggunakan Promise untuk mengendalikan operasi penulisan fail. Selepas melaksanakan kod di atas, kami akan mendapat fail Excel bernama data.xlsx, yang mengandungi data yang kami eksport.

4. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan Node.js untuk mengeksport data ke dokumen Excel. Kami boleh menyelesaikan tugas ini dengan mudah dengan menggunakan modul pihak ketiga seperti xlsx atau exceljs. Sama ada anda perlu mengeksport data ke format XLSX atau XLS, atau menyokong ciri lanjutan seperti berbilang lembaran kerja atau pemformatan sel, modul ini boleh memenuhi keperluan anda.

Atas ialah kandungan terperinci Bagaimana untuk mengeksport nodejs ke excel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn