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

js实现blob类型转化为excel文件

需求

后端通过接口将excel文件通过blob类型数据进行返回,前端接收数据并将其转化为excel文件进行下载

实现

接口方法

responseType:值为blob,标记返回数据类型为blob
Content-Type:请求头设置,值为application/vnd.ms-excel,标记类型为excel文件

// request为项目内部封装
export const getDownLoadUrl = () => {
    return request({
        url: '/aiModel/superModel/superModelImportTemplate',
        method: 'get',
        responseType: 'blob',
        headers: {
            'Content-Type': 'application/vnd.ms-excel'
        }
    })
}

转化方法

创建blob类型对应的url对象挂载到链接上,并模拟点击链接方式进行excel文件下载

export function downloadBlob(blob, name) {
    const url = URL.createObjectURL(blob)
    const a = document.createElement('a')
    a.href = url
    a.download = name
    document.body.appendChild(a)
    a.click()
    document.body.removeChild(a)
    URL.revokeObjectURL(url) // 释放对象
}

调用逻辑

使用上述实现的两个方法,从接口获取blob后将其转化为excel文件下载

const download = async() => {
    const res = await getDownLoadUrl()
    downloadBlob(res, 'excel模板.xlsx')
}

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

相关文章:

  • CentOS 7 安装 ntp,自动校准系统时间
  • LeetCode //C - 447. Number of Boomerangs
  • Golang | Leetcode Golang题解之第524题通过删除字母匹配到字典里最长单词
  • 【OpenGL】vs中glsl高亮显示插件
  • IDEA - 快速去除 mapper.xml 黄色警告线和背景色----简化版
  • 003-Kotlin界面开发之声明式编程范式
  • AI大模型时代,程序员如何保持竞争力
  • 西门子触摸屏维修6AV7200-1JA11-0AA0防爆显示屏维修
  • 【SQL Server】华中农业大学空间数据库实验报告 实验一 数据库
  • 亚马逊国际商品详情API:揭秘电商界的“X档案”
  • Django框架实现用户认证
  • 安卓逆向之过frida检测总结版
  • VR游戏:多人社交将是VR的下一个风口
  • SpringMvc请求
  • Spring Boot Admin应用
  • 照明灯十大知名品牌有哪些?2024灯具十大公认品牌排行榜出炉!
  • 洛阳建筑设计资质电子化申报操作流程
  • 怎麼解除IP阻止和封禁?
  • 2-139 基于matlab的弹道轨迹仿真
  • 低压补偿控制器维修措施
  • ES6中数组新增了哪些扩展?
  • Java项目实战II基于Spring Boot的智能家居系统(开发文档+数据库+源码)
  • 【jvm】为什么Xms和Xmx的值通常设置为相同的?
  • 利用Matlab工具生成滤波器
  • 在Springboot中更好的打印日志
  • 基于STM32的数控DC-DC电源系统设计