vue下载excel表格

下载excel表格

先从后端获取文件流,获取数据为blob格式,然后创建a窗口,命名要下载的文件,最后移除a标签

代码如下:

javascript 复制代码
downLoad() {
   let params = {
        model_name: "a"
      }
   this.$axios
      .get(`url`, { responseType: "blob", params})
      .then((res) => {
          console.log(res.data)
          const link = document.createElement("a");
          let blob = new Blob([res.data], {
            type: "application/xlsx,charset=utf-8",
          });
          link.style.display = "none";
          link.href = URL.createObjectURL(blob);
          // 默认下载时的名称及后缀
          link.download = 'xxx' + ".xlsx";
          document.body.appendChild(link);
          //模拟点击事件
          link.click();
          //移除创建的a标签
          window.URL.revokeObjectURL(link.href);
          document.body.removeChild(link);
        });
}
相关推荐
宋辰月10 小时前
学习react第一天
javascript·学习·react.js
flashlight_hi11 小时前
LeetCode 分类刷题:141. 环形链表
javascript·算法·leetcode
www_stdio11 小时前
JavaScript 中的异步编程与 Promise
javascript
宇余11 小时前
前端新玩具Vike:摆脱框架绑架,实现真正的技术自由
vue.js
唆了蜜.12 小时前
ESLint: Expected indentation of * spaces but found *. (style/indent)
开发语言·javascript·vue·webstorm
益达是我12 小时前
【element-plus】element-plus升级到v2.11.7,el-tree文字不显示问题
前端·javascript·vue.js·element-plus
用户97141718142712 小时前
JavaScript 数组方法完全指南
javascript·面试
社恐的下水道蟑螂12 小时前
从 JS 单线程到 Promise:彻底搞懂异步编程的 "同步化" 魔法
前端·javascript
Mrk12 小时前
Vue3 渲染器源码实现
vue.js
重铸码农荣光12 小时前
从回调地狱到优雅异步:Promise 带你吃透 JS 异步编程核心
vue.js·promise