vue导出excel

// 如果接口需要window.URL转码  可通过超链接直接下载

let url = `${base}/biz/internal/exportCsv?queryDtoStr=`;
                let enURL = window.encodeURI(url.concat(param));
                let link = document.createElement('a');
                link.style.display = 'none';
                link.href = enURL;
                link.setAttribute('download', this.chooseMenuName+'.csv');
                document.body.appendChild(link);
                link.click();

//如果通过axios.get方式来导出数据,因为后台接口添加了 token验证

接口
export const exportInnerList = param => {
    return axios.get(window.encodeURI(`${base}/biz/internal/exportCsv?queryDtoStr=${param}`), {params: {}, responseType:'blob'}).then(res => res.data);
};
exportInnerList(queryParam).then(response => {
                    //console.log("data-data-data: ",data);
                    this.download(response);
                }).catch( err => {
                    console.log(" err: ", err);
                });
download (data){
                if (!data) {
                    return
                }else{
                    let url = window.URL.createObjectURL(new Blob([data]));
                    let link = document.createElement('a');
                    link.style.display = 'none';
                    link.href = url;
                    link.setAttribute('download',this.chooseMenuName+'.csv');
                    document.body.appendChild(link);
                    link.click()
                }

            },



猜你喜欢

转载自blog.csdn.net/u013131203/article/details/80662871