angular2下载excel兼容ie

postUrl为请求地址,postBody为请求体,operate为导出文件名

 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);

            }

        })

    }

你可能感兴趣的:(angular2下载excel兼容ie)