嗨,我最近开始研究 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`);
});
斯塔克比尔茨代码