我在导出excel时遇到问题,文件可以下载,但打开时是空的。这是前端的代码:
onExportToExcelClicked() {
const payload = {
SNoba: this.noBa,
}; this.http.post(`${environment.inventarisasiUrl}/api/inv/t/invent/detailsexcel`, payload, {
responseType: 'blob' // Set response type to blob
}).subscribe(
(blob: Blob) => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
//a.style.display = 'none';
a.href = url;
a.download = `${this.noBa}.xlsx`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}
下载excel时出现数据
写入文件可能需要时间。这取决于您的数据大小。但这是我使用的另一个解决方案,你可以尝试使用
XLSX
:
exportAsExcel() {
const workSheet = XLSX.utils.json_to_sheet(this.myData);
const workBook: XLSX.WorkBook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workBook, workSheet, 'data');
XLSX.writeFile(workBook, 'excel-export.xlsx');
}