在Angular 8应用中,我的组件有一个表,可以将其导出到excel文件。我正在为此使用库xlsx。 webpack-bundle-analyzer显示xlsx库使用了我总块大小的65%。
由于很少使用导出功能,因此我想将其从初始捆绑包中排除,以提高大多数用户的性能,并在用户单击“导出”时加载它,而他们需要等待仍然下载。
这是我目前拥有的:
import * as xlsx from 'xlsx';
...
exportToExcel(filename,worksheet) {
const ws: xlsx.WorkSheet = xlsx.utils.json_to_sheet(this.tableData);
const wb: xlsx.WorkBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb,ws,worksheet);
xlsx.writeFile(wb,filename+'.xlsx');
}
我会想象这样的事情:
exportToExcel(filename,worksheet) {
loadScript('/scripts/xlsx.js').then(xlsx => {
const ws: xlsx.WorkSheet = xlsx.utils.json_to_sheet(this.tableData);
const wb: xlsx.WorkBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb,worksheet);
xlsx.writeFile(wb,filename+'.xlsx');
})
}
有没有办法做到这一点?或者您还有其他建议吗?