vue将后端返回的文件流导出成文档

本文介绍了如何使用JavaScript通过axios封装一个导出Excel的方法,包括设置请求头、构造URL并处理响应,以实现文件下载。示例展示了如何在页面中导入该方法并调用它以导出数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建一个js文件,封装导出的接口,里面的内容如下

// 导出Excel公用方法
import axios from 'axios'
export function exportMethod(data) {
  axios({
      method: data.method,
      url: `${data.url}${data.params ? '?' + data.params : ''}`,
      responseType: 'blob'
  }).then((res) => {
      const link = document.createElement('a')
      let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'})
      link.style.display = 'none'
      link.href = URL.createObjectURL(blob)
      link.download = data.fileName //下载的文件名
      document.body.appendChild(link)
      link.click()
      document.body.removeChild(link)
  }).catch(error => {
      this.$message.error('网络错误')
      console.log(error)
  })
}

2.在需要使用的页面中引入

import { exportMethod } from "../../utils/exportMethod.js";

3.使用

    handleAddClick() { //点击导出调封装好的方法
    let myObj = {
      method: "get",
      url: "",
      fileName: this.formatTime(new Date(), "yyyy-MM-dd hh-mm"), //下载好的文件名称,我这里是用的当前时间
      params:``, //接口参数
    };
    exportMethod(myObj);
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值