vue通过接口直接下载java生成好的Excel表格案例


Posted in Javascript onOctober 26, 2020

通过浏览器直接访问导出接口就会自动下载创建好的 Excel 表格。但是我们在vue里使用axios请求接口,一般是处理json数据,如果要处理文件流数据,需要做下特殊处理即可直接下载文件。

假如 下载Excel接口为:/apis/downExcel,则请求如下

import axios from 'axios'
 
export const exportFile = params => {
 var param = new URLSearchParams()
 param.append('beginTime', params.beginTime)
 param.append('endTime', params.endTime)
 return axios({
  method: 'post',
  data: param,
  url: '/apis/downExcel',
  responseType: 'blob'
 })
}

下载按钮触发下载方法如下:

downExcel() {
 var params = {
  beginTime: this.times[0],
  endTime: this.times[1]
 };
 exportFile(params).then(
  data => {
   /** 获取生成设置好的文件名 */
   var filename = data.headers["content-disposition"];
   filename = filename.split("=")[1];
   filename = decodeURIComponent(filename, "utf-8");
   /** 接收文件流 */
   const blob = new Blob([data.data]);
   let url = URL.createObjectURL(blob);
   /** 模拟浏览器操作Document,并模拟下载动作 */
   let link = document.createElement("a");
   link.style.display = "none";
   link.href = url;
   link.setAttribute("download", filename);
   document.body.appendChild(link);
   link.click();
  },
  error => {
   console.log(error);
   this.$message.error("下载异常,请稍后再试");
  });
}

这样就可以在vue项目中完整下载Excel接口,当然vue也有生成Excel的插件,接收后台的json数据然后在前端生成并下载。

补充知识:Vue实现通过后端接口导出Excel表格

需求:后端提供下载接口,返回二进制文件流,前端导出为xlsx格式的Excel表格

实现:

1、按钮调用下载接口

2、new Blob导出

vue通过接口直接下载java生成好的Excel表格案例

vue通过接口直接下载java生成好的Excel表格案例

PS:

1、第一步请求接口时,注意要设置请求responseType为blob类型,否则下载后,显示格式错误,无法打开

2、new Blob请求是,注意修改type类型为application/vnd.ms-excel

vue通过接口直接下载java生成好的Excel表格案例

vue通过接口直接下载java生成好的Excel表格案例

以上这篇vue通过接口直接下载java生成好的Excel表格案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
判断JS对象是否拥有某种属性的两种方式
Dec 02 Javascript
一个简单的全屏图片上下打开显示网页效果示例
Jul 08 Javascript
JavaScript中的条件判断语句使用详解
Jun 03 Javascript
vue.js初学入门教程(2)
Nov 07 Javascript
setTimeout学习小结
Feb 08 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
微信小程序实现移动端滑动分页效果(ajax)
Jun 13 Javascript
vue利用axios来完成数据的交互
Mar 23 Javascript
Angular6笔记之封装http的示例代码
Jul 27 Javascript
如何在面试中手写出javascript节流和防抖函数
Oct 22 Javascript
JavaScript中Object、map、weakmap的区别分析
Dec 15 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 #Javascript
原生js实现贪吃蛇游戏
Oct 26 #Javascript
JavaScript实现五子棋小游戏
Oct 26 #Javascript
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 #Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 #Javascript
Vue+Element自定义纵向表格表头教程
Oct 26 #Javascript
vue3.0 的 Composition API 的使用示例
Oct 26 #Javascript
You might like
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
angular动态表单制作
2018/02/23 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python操作Excel插入删除行的方法
2018/12/10 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
销售总监岗位职责
2014/01/04 职场文书
办理居住证介绍信
2014/01/15 职场文书
党员演讲稿
2014/09/04 职场文书