根据后端接口获取文件流下载Excel文件 分别通过GET和POST请求实现(★★★

POST携带参数请求文件流并保存为Excel文件

// payload携带的对象参数
function downloadExcel(payload) {
  let xhr = new XMLHttpRequest();
  xhr.open('POST', 'background/baseInfo/export', true);
  xhr.setRequestHeader('Content-Type', 'application/json');
  xhr.responseType = 'blob';
  xhr.onload = function (e) {
    if (this.status === 200) {
      let blob = new Blob([this.response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
      let link = document.createElement('a');
      link.href = window.URL.createObjectURL(blob);
      let date = moment(new Date()).format('YYYYMMDDHHmmss')
      link.download = `核查人员信息_${date}.xlsx`;
      link.click();
    }
  };
  xhr.send(JSON.stringify(payload));
}

GET携带参数请求文件流并保存为Excel文件

function downloadExcel(payload) {
    let params = convertToQueryString(payload);
    console.log('output-> params::: ', params)
    let xhr = new XMLHttpRequest();
    xhr.open('GET', 'economic/riskCheck/export' + "?" + params, true);
    xhr.responseType = 'blob';
    xhr.onload = function (e) {
        if (this.status === 200) {
            let blob = new Blob([this.response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
            let link = document.createElement('a');
            link.href = window.URL.createObjectURL(blob);
            let date = moment(new Date()).format('YYYYMMDDHHmmss')
            link.download = `风险排查导出数据_${date}.xlsx`;
            link.click();
        }
    };
    xhr.send();
}
posted @ 2024-01-26 18:17  Felix_Openmind  阅读(592)  评论(0)    收藏  举报
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}