首页 > 其他分享 >vue 导出excel 后端返回blob数据流

vue 导出excel 后端返回blob数据流

时间:2023-11-22 17:03:42浏览次数:35  
标签:vue const url res excel blob 导出

后端返回blob数据流,前端进行下载

封装公共ts组件downloadExcel.ts

/*
* created by seven.lau on 22/11/2023
* 导出excel
* 后端返回Blob数据流
* url 接口地址
* paramsData 接口参数
* filename 导出excel的文件名
* */
import axios from 'axios';
const downloadExcel = function (url, paramsData) {
  axios({
    method: 'post',
    url: url,
    data: paramsData,
    responseType: 'blob'
  }).then((res) => {
    console.log('res----------', res);
    const str = res.headers['content-disposition'].split(';')[1].split('=')[1];
    const filename = decodeURIComponent(str);
    const blob = new Blob([res.data], {
      type: 'app;ication/vnd.ms-excel',
    });
    const objectUrl = window.URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.setAttribute('href', objectUrl);
    a.setAttribute('download', filename);
    a.click();
    window.URL.revokeObjectURL(objectUrl);
  }).catch(error => {
    console.log(error);
  });
}
export default downloadExcel

在需要的页面引入方法

调用方法

文件导出后如图

标签:vue,const,url,res,excel,blob,导出
From: https://www.cnblogs.com/midnight-visitor/p/17849734.html

相关文章

  • Excel导入数据
    1.前端上传文件,参考ElEmentUI组件1<el-upload2class="upload-excel"3accept=".xls,.xlsx"4ref="uploadExcel"5:multiple="false"6......
  • vue2在线预览文档——Onlyoffice
    以下三个链接,结合看:Java+vue3:springbootvue初步集成onlyoffice_vue集成onlyoffice_Mr-Wanter的博客-CSDN博客使用docker+vue2:vue2集成Onlyoffice_vue集成onlyoffice-CSDN博客Onlyoffice+vue3官网例子:https://api.onlyoffice.com/editors/vue1.安装依赖安装完依赖就......
  • Excel 操作
    数据验证数据->数据验证->输入验证条件......
  • vue学习笔记(借鉴其他笔记不是本人书写)
    文章目录一.Vue基础认识Vue.jsVue安装方式Vue的MVVM二.Vue基础语法生命周期模板语法创建Vue,options可以放什么语法综合v-onv-for遍历数组v-model表单绑定v-model结合radio类型使用v-model结合checkbox类型使用v-model结合select类型使用值绑......
  • panjiachen的vue-admin-template中关闭eslint
    由于有语法检查,所以我想关闭eslint低版本:  在conf/index.js中将useEslint改为flase高版本:  在.eslintrc.js中有rules,这里边都是eslint的校验规则,如果你不想有校验,可以直接将rule括号中的规则都注释掉   ......
  • vue3 watch
    constfilterCommandList=computed(()=>{timerList.value.forEach((item)=>clearInterval(item));timerList.value=[];letdata=repeatReminderList.value;returndata.map((row)=>{row.close=false;row.lastT......
  • 手撕Vue-Router-初始化路由信息
    前言经过上一节课的学习,我们已经完成了提取我们想要的路由信息数据格式,提取完毕了之后,接下来我们该干什么,接下来需要做的步骤就是监听路由的变化,保存当前的路由。那么就会遇到几个问题,就是怎么监听,怎么保存,我们先回到VueRouter的官方文档,点击右上角的API参考,然后拖动到底部......
  • SpringBoot + Vue实现分页查询
    后端在controller层修改SpringBoot自带分页查询方法,只需要修改关键代码就可以@GetMapping("/findAll/{page}/{size}")//获取url输入的页码publicPage<Users>findAll(@PathVariable("page")intpage,@PathVariable("size")intsize){//将页码取到方法内P......
  • vue3所遇问题
    1. table表格无边框数据乱飞 解决方法:将import{}from'Elementplus'  删去  2.表单无法输入内容 解决方法 :   ref="form"     :model="form333"   ref与:modle 不可重名......
  • Vue中的Vuex
    概述Vuex是一个专为Vue.js应用程序开发的状态管理模式+库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。对于组件间的通信方式而言,vuex也是一个可以进行任意组件通信的方法。使用场景:某个状态在很多组件来使用(个人信息......