element upload的导出和下载xsl文件

封装到工具类 utils 目录下

import axios from 'axios'
import { getToken } from "@/xxx";  // 接口请求头携带的token
import ElementUI from 'element-ui';

export function getOutExcel(url, data, method = "post") {
  axios({
    headers: {
      Authorization: getToken(), // 保存请求的token
      "Content-type": "application/json; charset=utf-8",
    },
    method: method || 'post',
    baseURL: process.env.VUE_APP_BASE_API, // baseURL
    url: url, // api地址
    data: method === 'post' ? data : null,
    params: method === 'get' ? data : null,
    responseType: "blob", // 表明返回服务器返回的数据类型
  }).then((res) => {
    // 处理返回的文件流
    const content = res.data;
    const blob = new Blob([content]);
    const fileName = `模板.xls`;
    if ("download" in document.createElement("a")) {
      const elink = document.createElement("a");
      elink.download = fileName;
      elink.style.display = "none";
      elink.href = URL.createObjectURL(blob);
      document.body.appendChild(elink);
      elink.click();
      URL.revokeObjectURL(elink.href); // 释放URL 对象
      document.body.removeChild(elink);
    } else {
      navigator.msSaveBlob(blob, fileName);
    }
  }).catch(err => {
    ElementUI.Message({
      message: '导出失败',
      type: 'error'
    });
  });
}

调用

<template>
	<div>
		<span @click="downLoad">下载模板</span>
	</div>
</template>
import { getOutExcel} from "@/utils/xxx"

// 导出 下载功能
methods:{
	downLoad(){
		getOutExcel('第一个参数写接口的地址','接口需要的参数','请求类型 默认post')
	}
}


  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值