1. 后端直接返回下载excel的地址链接excelDownUrl:

window.location.href = excelDownUrl; //直接下载excel下载地址

2. 后端返回二进制流文件,前端通过axios 通过Blob 转换excel文件流 下载乱码问题:

axios({method: 'GET', //或者POSTurl: '/api',params: params,responseType: 'blob',data:param
}).then(res=>{let result=res.data; //如果后端返回的result是进过Blob处理的,直接 window.URL.createObjectURL(result),如果没有,就需要先实例化new Blod处理之后再window.URL.createObjectURL(blob)。let blob = new Blob([result], {type: "application/vnd.ms-excel"});  let url = window.URL.createObjectURL(blob);let link = document.createElement('a');link.download = "product.xls";link.href = url;link.click();
}).catch(err=>{console.log(err)
})

3. 后端正常情况下res.data直接返回二进制流文件,异常情况下res.data返回{code:30000,errMsg:"参数错误"}时,前端通过axios 通过Blob 转换excel文件流是否读取json文件成功来下载excel:

axios({method: 'GET', url: '/api',params: params,responseType: 'blob',data:param
}).then(res=>{const fileread=new FileReader();fileread.onload=(e)=>{              try{const message=JSON.parse(e.target.result)console.log(message)                          }catch(e){let url = window.URL.createObjectURL(res.data);let link = document.createElement('a');let timer=new Date().getTime();link.download =timer+"product.xls";link.href = url;link.click();   }}              fileread.readAsText(res.data)
}).catch(err=>{console.log(err)
})

前端下载excel文件的两种方法相关推荐

  1. Ruby读取Excel文件的两种方法

    用Ruby读取Excel文件的两种重要方式 1. 通常做法,查阅微软提供的API了,需要包含win32, 在ruby前加入,require 'win32ole' 例如: require 'win32o ...

  2. .NET CORE 2.1 导出excel文件的两种方法

    最近在做 MVC 项目的时候遇到项目的导出,下面总结下两种导出到excel 的方法 第一种方法: 将文件写到本地,然后返回这个File 或者返回这个 File 的绝对地址  其中  _hostingE ...

  3. php原生导出excel文件的两种方法

    第一种方法: $filename='文件名称';$filetitle='你的标题';if($_POST){set_time_limit(10000):$title = '';ini_set('memo ...

  4. 前端axios下载excel文件(二进制)的处理方法

    前端axios下载excel文件(二进制)的处理方法 后端生成excel后,前端 click 事件进行下载 ,脱坑记录,亲测有效. lz 使用的是 axios 发起请求 , 首先,介绍一下思路,准备通 ...

  5. 合并BIN文件的两种方法

    合并BIN文件的两种方法 在单片机的开发过程中,经常需要将两个单独的BIN文件合并成一个文件,方便烧写和生产.下面结合STM32的IAP Bootloader Code和Application Cod ...

  6. SAS导出EXCEL文件的几种方法

    SAS学习 SAS导出EXCEL文件的几种方法 以下基于SAS 9.3简体中文版 一.proc export proc export data=a.dataname outfile='D:\excel ...

  7. elf格式转换为hex格式文件的两种方法

    这周工作终于不太忙了,可以写点笔记总结一下了. 之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次 ...

  8. elf格式转换为hex格式文件的两种方法 1

    这周工作终于不太忙了,可以写点笔记总结一下了. 之前的文章如何在Keil-MDK开发环境生成Bin格式文件,介绍了如何在Keil开发环境使用fromelf软件,将生成的axf文件转换为bin文件,这次 ...

  9. C#读写txt文件的两种方法介绍[转]

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  10. 文字转语音文件的两种方法

    文件转语音文件的两种方法.小伙伴们在日常的工作.学习或是生活当中,是否遇到过以下这种情况.在工作中每天要阅读大量文件资料,在学习中每天要阅读各种课文,在生活中也会观看各种小说.但是长时间的用眼阅读,就 ...

最新文章

  1. poj3581Sequence(后缀数组)
  2. 宽带拨号时出现错误列表
  3. 一条SQL更新语句是如何执行的?
  4. crunch字典生成工具
  5. 深信服单点登入代理服务取AD
  6. 【原创】中文分词系统 ICTCLAS2015 的JAVA封装和多线程执行(附代码)
  7. 福特dms系统服务器,dms系统云服务器
  8. 管理欲望:领导者的自我觉察与突破
  9. 五种“网络钓鱼”实例解析及防范技巧(转)
  10. win7 计算机不显示u盘重装系统,win7系统重装U盘读不出解决方法
  11. win10重置进度条不动了_Windows10系统重置时卡死的处理方法
  12. 安川服务器输入输出信号,谈谈自动控制系统的输入输出信号
  13. 帝国塔防2 empire defence 2的攻略
  14. 基于matlab的交通信号模糊控制系统设计
  15. Tunnel端口配置
  16. AI中怎么给文字加粗
  17. 蓝牙麦克风 android,带蓝牙麦克风的Android语音识别器
  18. 人工智能伦理风险治理具有复杂性,尚未形成完善的理论架构和治理体系
  19. pdf如何转换为word文档
  20. java写作教程_如何编写技术教程-发布关于开发人员写作的新书

热门文章

  1. qcloud-ocr
  2. 百度seo引流怎么做?一个免费分享知识的平台
  3. 百度网盘四种方法免费提速
  4. Apache端口被占用的解决方法
  5. 了解Xcelsius2008系统
  6. 不能理解命令行选项 “n”_如何理解命令行
  7. 不做自了汉,大家好才是真的好
  8. 【暑假集训】F1方程式冠军
  9. java梯形_如何绘制梯形?
  10. 蓝牙耳机连接笔记本电脑音量直接爆棚