Node.js 中导出 Excel 文件可以通过多种库来实现,其中最常用的有 xlsx
和 exceljs
。下面我将详细介绍如何使用这两个库来导出 Excel 文件,并提供一些基础概念和相关优势。
Excel 文件格式:
.xls
:早期的 Excel 文件格式,二进制格式。.xlsx
:较新的 Excel 文件格式,基于 XML 的压缩包格式。Node.js 库:
xlsx
:一个功能强大且灵活的库,支持读写多种电子表格格式。exceljs
:另一个功能全面的库,支持自定义样式和复杂的格式设置。xlsx
导出 Excelnpm install xlsx
const XLSX = require('xlsx');
// 创建一个新的工作簿
const workbook = XLSX.utils.book_new();
// 创建一个工作表数据
const data = [
['Name', 'Age', 'Email'],
['Alice', 30, 'alice@example.com'],
['Bob', 25, 'bob@example.com']
];
// 将数据转换为工作表
const worksheet = XLSX.utils.aoa_to_sheet(data);
// 将工作表添加到工作簿
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 导出为 Excel 文件
XLSX.writeFile(workbook, 'output.xlsx');
exceljs
导出 Excelnpm install exceljs
const ExcelJS = require('exceljs');
// 创建一个新的工作簿
const workbook = new ExcelJS.Workbook();
// 添加一个工作表
const worksheet = workbook.addWorksheet('Sheet1');
// 添加表头
worksheet.columns = [
{ header: 'Name', key: 'name', width: 10 },
{ header: 'Age', key: 'age', width: 10 },
{ header: 'Email', key: 'email', width: 30 }
];
// 添加数据行
worksheet.addRow({ name: 'Alice', age: 30, email: 'alice@example.com' });
worksheet.addRow({ name: 'Bob', age: 25, email: 'bob@example.com' });
// 导出为 Excel 文件
workbook.xlsx.writeFile('output.xlsx')
.then(() => {
console.log('Excel file has been created successfully.');
})
.catch((err) => {
console.error('Error creating Excel file:', err);
});
优势:
应用场景:
问题1:文件导出为空
问题2:文件格式不正确
问题3:性能问题
通过上述方法,你应该能够在 Node.js 中成功导出 Excel 文件,并解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云