• 使用文件流 导出 excel表


    大多数excel表格的导出,直接一个a标签跳转就行了

    但是为了安全考虑,有些公司前端需要用post方式获取后端返回的文件流,前端使用node将文件流转译后再导出

    下面就是代码

    exportBtn(){
      //导出修改为读取二进制文件流
          let parm = {
            report_type: this.sheetType,
            set_id: this.searchName,
            selectDate: selectDate,
            startTime: startTime,
            endTime: endTime,
          };
          api_tws.excelReport(qs.stringify(parm)).then((res) => {
            if (res == "apiError") {
              this.buttonDisabledType = false;
              return;
            }
            const blob = new Blob([res]);
            const elink = document.createElement("a");
    
            elink.download = `报表.xls`;
            elink.style.display = "none";
            elink.href = URL.createObjectURL(blob);
    
            document.body.appendChild(elink);
            elink.click();
            URL.revokeObjectURL(elink.href); // 释放URL 对象
            document.body.removeChild(elink);
            this.buttonDisabledType = false;
          });  
    }
    
    
    //上面是方法,下面是定义的api请求
    
    
    export async function excelReport(body) {
      const res = await axios({
        method: "post",
        responseType: "blob",
        url: serverUrl + '/excelReport/export?' + body
      });
      return res;
    }
    

      

  • 相关阅读:
    Prometheus 基于文件的服务发现
    Prometheus 标签使用示例整合
    Prometheus 重新标签
    Prometheus 配置采集目标
    Prometheus 配置文件详解
    Prometheus 安装部署
    Prometheus 介绍详解
    Python urlib 模块
    ArcGIS Python编程案例-电子资料链接
    如何查看Python对象的属性
  • 原文地址:https://www.cnblogs.com/wangqi2019/p/14073980.html
Copyright © 2020-2023  润新知