使用 Asp.net Web API和Angular 8下载文件



嗨,我最近开始研究 angular 并且我需要使用 asp.net web api 和 angular 8 创建和下载 excel 文件

我使用 Web API 创建了 excel 文件 Asp.net 并将文件返回为

return File(excelPackage.GetAsByteArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "test.xlsx");

我必须使用 angular 阅读此 excel 文件并下载

GetExportExcel(editQuoteFilters: EditQuoteModel):Observable<any>{ 
let postHeaders = new HttpHeaders();
postHeaders.append('Content-Type', 'application/json');
postHeaders.append('responseType', 'blob');
return this.http.post<any>(this.ExcelExportLevel0ApiUrl, editQuoteFilters,{ headers: postHeaders, 
responseType : 'arraybuffer' as 'json'})                                      
.pipe(map((res) =>{
var blob = new Blob([res.blob()], {type: "application/vnd.ms-excel"})
return blob
})
);
}

您可以使用文件保护程序

import { saveAs } from 'file-saver';

this.http.post(this.ExcelExportLevel0ApiUrl, editQuoteFilters, { responseType: 'blob' }).subscribe((resp: any) => {
let fileName = "test";
FileSaver.saveAs(resp, `${fileName}.xlsx`);
});

斯塔克比尔茨代码

最新更新