当前位置: 首页 > article >正文

后端返回文件流,前端导出excel文件

1、当后端接口返回文件流时,需前端导出excel文件,在请求中添加  responseType: 'blob'限制条件,根据返回的文件流导出

封装的方法:

  /**

   * 公共的导出excel方法

   * @param {*} content 后端接口返回的二进制文件

   * @param {*} name 导出的文件名

   */

  ExportExcel(content, name) {

    let fileName = name

    if (!name) {

      fileName = '导出清单.xls'

    } else {

      fileName = name + '.xls'

    }

    const blob = new Blob([content]) // 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象

    const url = window.URL.createObjectURL(blob) // URL.createObjectURL(object)表示生成一个File对象或Blob对象

    const dom = document.createElement('a') // 设置一个隐藏的a标签,href为输出流,设置download

    dom.style.display = 'none'

    dom.href = url

    dom.setAttribute('download', fileName) // 指示浏览器下载url,而不是导航到它;因此将提示用户将其保存为本地文件

    document.body.appendChild(dom)

    dom.click()

    window.URL.revokeObjectURL(dom.href) // 释放URL 对象

    document.body.removeChild(dom)

  },

请求方法

export function queryExportExcel(params) {

  return request({

    url: ' ',

    method: 'post',

    responseType: 'blob',

    data: params

  })

}

 

导出 

 this.ExportExcel(返回的文件流, '事件清单') 


http://www.kler.cn/a/566743.html

相关文章:

  • 10. 作者去换监控源了,不知道什么原因,zabbix自定义监控无法获取
  • Android13修改多媒体默认音量
  • node-red读写Redis
  • 【Linux第一弹】Linux基础指令(上)
  • 校园订餐微信小程序(全套)
  • 说说JVM的底层原理(JAVA是如何运行的)?
  • Redisson 分布式锁底层原理实现详解
  • FC兵蜂2游戏技巧
  • 学习路程七 langchain核心组件 Prompt
  • AI绘画软件Stable Diffusion详解教程(2):Windows系统本地化部署操作方法(专业版)
  • MOM成功实施分享(七)电力电容制造MOM工艺分析与解决方案(第一部分)
  • 基于 Python 的天气数据分析与可视化
  • 《深度学习实战》第4集:Transformer 架构与自然语言处理(NLP)
  • Python 爬虫与网络安全有什么关系
  • 进程状态(R|S|D|t|T|X|Z)、僵尸进程及孤儿进程
  • 自动化办公|xlwings与pandas交互
  • flex布局自定义一行几栏,靠左对齐===grid布局
  • react工程化开发
  • TCP/IP 5层协议簇:网络层(IP数据包的格式、路由器原理)
  • 滑动验证组件-微信小程序