可以使用第三方库如exceljs或xlsx来实现将百万级数据导出为Excel的功能。
以下是使用exceljs库导出Excel文件的示例代码:
import * as ExcelJS from 'exceljs';
// 将数据转换为Excel工作表中的行
function getWorksheetRows(data: any[]) {
const rows = [];
data.forEach((item) => {
const row = [];
// 将每个对象的属性值作为行中的单元格
Object.keys(item).forEach((key) => {
row.push(item[key]);
rows.push(row);
return rows;
// 将数据导出到Excel文件中
export function exportToExcel(data: any[], filename: string) {
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('Sheet1');
// 将数据填充到工作表中
worksheet.addRows(getWorksheetRows(data));
// 将工作簿保存为Excel文件
workbook.xlsx.writeFile(filename)
.then(() => console.log('Excel文件已保存成功'))
.catch((err) => console.log('导出Excel文件时出错:', err));
使用示例:
const data = [
{ id: 1, name: '张三', age: 20 },
{ id: 2, name: '李四', age: 25 },
// ... 百万级数据
exportToExcel(data, 'exported_data.xlsx');
以上代码将会生成一个名为"exported_data.xlsx"的Excel文件,其中包含由"data"数组中的数据生成的工作表。