我正在學習Angular 2,我試圖通過使用web api從sql server表中提取客戶數據來以角度2下載Excel文件。如何在角度2下載Excel文件
在谷歌搜索後,我發現一些代碼,但使用這些代碼,我能夠下載,但它不包含正確的數據和文件名也有一些GUID格式
下面是我使用的代碼:
元器件
GetRemindersData()
{
var Flag="ALL_SPOTCHECK_RECORDS";
this.httpService.GetRemindersData(Flag).subscribe(
data=>this.downloadFile(JSON.stringify(data[1])),
error => console.log("Error downloading the file."),
() => console.info("OK"));
}
downloadFile(data:any){
console.log(data);
var blob = new Blob([data], { type: 'application/vnd.ms-excel' });
var url= window.URL.createObjectURL(blob);
window.open(url);
}
Service.ts
public GetRemindersData(Flag:string){
var GetRemindersData_URL:string = 'http://localhost:5000/api/RemindersData/?Flag='+Flag;
return this.http.get(`${GetRemindersData_URL}`)
.map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
您可以創建從數據你前面的Excel文件的文件顯示。看看[這裏](https://stackoverflow.com/a/44766181)的答案,看看它是如何完成的。 – BogdanC
上述參考後,我有'coudld沒有找到模塊'xlsx'的聲明文件的錯誤。 '/ node_modules /xlsx/xlsx.js'隱式具有'任何'類型。' – user3301440
我有一個Angular演示應用程序實現'xlsx' [here](https://github.com/bogdancar/xlsx-json-to-xlsx-demo-Angular2)。克隆它,看看它是如何工作的。 – BogdanC