postUrl為請求地址,postBody為請求體,operate為導(dǎo)出文件名
?exportTarget(postUrl, postBody, operate) {
????????let today = moment().format('YYYY-MM-DD');
????????this.http.post(postUrl, postBody, { responseType: 3 }).map(res => res.json()).subscribe(res => {
????????????// let blob = new Blob([res], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
????????????// let blob = new Blob([res], { type: "application/vnd.ms-excel" });
????????????let blob = new Blob([res], { type: "application/msexcel;charset=UTF-8" });
????????????if (window.navigator.msSaveOrOpenBlob) {
????????????????navigator.msSaveBlob(blob, operate + today + '.xls');
????????????} else {
????????????????let resUrl = URL.createObjectURL(blob);
????????????????let a = document.createElement('a');
????????????????document.body.appendChild(a);
????????????????a.setAttribute('style', 'display:none');
????????????????a.setAttribute('href', resUrl);
????????????????a.setAttribute('download', operate + today + '.xls');
????????????????a.click();
????????????????// document.body.removeChild(a);
????????????????// 釋放url
????????????????URL.revokeObjectURL(resUrl);
????????????}
????????})
????}