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

news/2025/2/27 0:43:18

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.niftyadmin.cn/n/5869324.html

相关文章

【Uniapp-Vue3】在uniapp中使用pinia的基本用法

引入pinia: 在main.js中对pinia进行引入,使用和导出 import * as Pinia from pinia; // 引入pinia app.use(Pinia.createPinia()); // 使用pinia 在项目根目录下创建一个stores文件夹,里面创建一个counter.js文件 我们在counter.js中定义…

​腾讯云 轻量云对象存储

腾讯云轻量云对象存储(COS)是一款为中小企业、开发者及个人用户提供的简化、低成本、易用的云存储服务。它提供高效、灵活的对象存储解决方案,用户可以通过腾讯云轻量云对象存储轻松存储、管理和访问海量非结构化数据。通过简单的操作&#x…

Windows Server 搭建 RADIUS 认证服务器

Windows Server 搭建 RADIUS 认证服务器 1.搭建 AD CS 证书服务器 2.配置 Active Directory 证书服务 3.搭建 NPS 认证服务器 4.为 NPS 服务器申请证书 5.配置 RADIUS 服务搭建 AD CS 证书服务器 1、打开「服务器管理器」,选择右上角的「管理」>「添加角色和功能…

Selenium 与 Coze 集成

涵盖两者的基本概念、集成步骤、代码示例以及相关注意事项。 基本概念 Selenium:是一个用于自动化浏览器操作的工具集,支持多种浏览器(如 Chrome、Firefox 等),能够模拟用户在浏览器中的各种操作,如点击、输入文本、选择下拉框等,常用于 Web 应用的自动化测试。Coze:它…

AWS SDK for Java 1.x 403问题解决方法和原因

问题表现 使用AWS SDK for Java 1.x访问S3,已经确认文件存在,且具有权限,仍然出现403 Forbidden应答。 解决方法 升级到AWS SDK for Java 2.x。 问题原因 AWS签名机制严格依赖请求的精确路径格式,任何URI的差异(如…

SQLMesh 系列教程9- 宏变量及内置宏变量

SQLMesh 的宏变量是一个强大的工具,能够显著提高 SQL 模型的动态化能力和可维护性。通过合理使用宏变量,可以实现动态时间范围、多环境配置、参数化查询等功能,从而简化数据模型的开发和维护流程。随着数据团队的规模扩大和业务复杂度的增加&…

一文掌握Selenium的详细使用

文章目录 1. 安装 Selenium1.1 安装 Selenium 库1.2 下载浏览器驱动 2. 基础用法2.1 启动浏览器2.2 查找元素2.3 操作元素 3. 高级功能3.1 等待机制3.2 处理弹窗3.3 执行 JavaScript3.4 切换窗口或 iframe3.5 处理 Cookies3.6 截图3.7 处理下拉菜单 4. 浏览器选项4.1 无头模式&…

Jenkins垃圾清理指南

文章目录 1. Jenkins是什么2. 哪些部分容易产生垃圾3. Jenkins垃圾清理方案3.1 单Job配置:自动清理旧构建3.2 全局统一清理:Slicing插件批量操作3.3 本地缓存清理 4. 空间预警 1. Jenkins是什么 Jenkins是一款开源的持续集成与持续交付(CI/C…