要使用Angular XLSX库导出对象数组,首先需要安装它。使用以下命令在项目中安装Angular XLSX库:
npm install xlsx @types/xlsx
接下来,您可以在您的组件中导入所需的依赖项:
import { Component } from '@angular/core';
import { saveAs } from 'file-saver';
import * as XLSX from 'xlsx';
假设您有一个包含对象数组的变量,您可以使用以下代码将其导出为Excel文件:
export class AppComponent {
data: any[] = [
{ name: 'John', age: 25, city: 'New York' },
{ name: 'Mike', age: 30, city: 'Los Angeles' },
{ name: 'Alice', age: 35, city: 'Chicago' }
];
exportToExcel(): void {
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(this.data);
const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };
const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
this.saveAsExcelFile(excelBuffer, 'data');
}
private saveAsExcelFile(buffer: any, fileName: string): void {
const data: Blob = new Blob([buffer], { type: 'application/octet-stream' });
saveAs(data, fileName + '.xlsx');
}
}
在上面的代码中,data
变量是一个包含对象数组的示例。exportToExcel
方法将该数据转换为工作表,并将其保存为Excel文件。saveAsExcelFile
方法将文件保存到用户的计算机上。
最后,您可以在您的模板中添加一个按钮,以便在单击时调用exportToExcel
方法:
这样,当用户单击按钮时,对象数组将被导出为Excel文件。