let blob = new Blob([data], {
  type: 'application/octet-stream'
});// 转化为blob对象
let filename = fileName || 'filename.xls';// 判断是否使用默认文件名
if (typeof window.navigator.msSaveBlob !== 'undefined') {
  window.navigator.msSaveBlob(blob, filename);
} else {
  var blobURL = window.URL.createObjectURL(blob);// 将blob对象转为一个URL
  var tempLink = document.createElement('a');// 创建一个a标签
  tempLink.style.display = 'none';
  tempLink.href = blobURL;
  tempLink.setAttribute('download', filename);// 给a标签添加下载属性
  if (typeof tempLink.download === 'undefined') {
    tempLink.setAttribute('target', '_blank');
  }
  document.body.appendChild(tempLink);// 将a标签添加到body当中
  tempLink.click();// 启动下载
  document.body.removeChild(tempLink);// 下载完毕删除a标签
  window.URL.revokeObjectURL(blobURL);
}

上方为下载Excel文件的一个核心逻辑,需要你自己构建一个函数,将上方代码放入,下面是原理:

1、获取后端传递来的二进制数据流

2、传递到封装的函数当中,需要传递二进制数据和文件名(不传有默认文件名)

3、将二进制数据流包裹成一个new Blob对象

4、将Blob对象转化为一个URL资源地址,这个地址时一个本地地址

5、创建一个a标签,设置隐藏,添加下载属性,添加到body当中,启动下载

6、下载完毕之后,删除a标签

注意事项:

在vue框架当中,数据请求是借助axios的,为此,在发送请求的时候,需要修改responseType,改为arraybuffer,axios默认情况下responseType为json,若是不修改,很可能下载时候会是乱码,或者为null。

vue下载二进制流文件转为Excel文件相关推荐

  1. 批量将txt文件转为excel文件

    python萌新,记录一下,自己做项目时遇到需批量将txt文件转为excel文件. 代码如下: `# coding:utf-8 import pandas as pd import os def ge ...

  2. tsv文件转为Excel文件

    目录 需求 思路 实现 需求 现在有多个tsv文件,需要将其都转换为excel文件 思路 实现将一个文件转换成功.将tsv文件按行读取,然后通过xlsxwriter写入新创建的xlsx文件中 实现批量 ...

  3. 使用FastReport-v5.3.17把fp3文件转为excel文件

    软件下载地址: http://pan.baidu.com/s/1bpJVl1t 1. 打开FastReport-v5.3.17.zip压缩文件,双击里面的fr5_demo.exe文件进行安装.一直一下 ...

  4. json文件转为Excel文件

    json编码为ANSI,BOM字符报错 import json import pandas as pd data = [] with open ('json.json','r',encoding = ...

  5. python怎么将txt转为excel_使用matlab或python将txt文件转为excel表格

    假设txt文件为: 一.matlab代码 data=importdata('data.txt'); xlswrite('data.xls',data); 二.python代码 利用pandas的Dat ...

  6. Vue将echarts数据导出成excel文件

    Vue将echarts数据导出成excel文件 一.下载vendor插件 下载 vendor 文件放置项目的 src 目录下 链接:https://pan.baidu.com/s/1XYYQ186zo ...

  7. C#使用NPOI将txt文本批量转为excel文件

    1.下载NPOI     NPOI是一个开源的C#读写Excel.WORD等微软OLE2组件文档的项目.可以在没有安装Office的情况下对Word或Excel文档进行读写操作.     可从NPOI ...

  8. python转csv_python脚本如何将Excel文件转为csv文件(代码)

    本篇文章给大家带来的内容是关于python脚本如何将Excel文件转为csv文件(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.#!/usr/bin/env python __ ...

  9. python csv转excel_将Excel文件转为csv文件的python脚本

    将Excel文件转为csv文件的python脚本 #!/usr/bin/env python __author__ = "lrtao2010" ''' Excel文件转csv文件脚 ...

最新文章

  1. 欧拉角和旋转矩阵相互转换
  2. 9.3 图像变换(尺寸变换、旋转变换、灰度变换和数据类型变换)
  3. STOP:c0000218 {Registry File Failure}
  4. [云炬创业基础笔记]第二章创业者测试4
  5. nosql非关系型数据库_从Datomic出发,革命性的非NoSQL数据库
  6. java 框架 例子_如何设计Java框架? –一个简单的例子
  7. 系统架构师学习笔记-系统性能评价
  8. JavaScript捕获窗口关闭事件
  9. stm32F1的JTAG、SWJ作为普通引脚使用。禁用JTAG、SWJ。
  10. 「leetcode」349. 两个数组的交集:哈希值太大了,还是得用set
  11. 摩尔斯电码(摩斯电码)
  12. 如何用Python绘制多种风玫瑰图
  13. 字符点击效果实现——YYLabel和YYTextHighlight
  14. ipv6的127位掩码如何表示_网络基础 | 浅谈IP地址与子网掩码
  15. java人民币金额大写_[求助]用java实现整数转换为人民币金额大写的功能
  16. 小柯在学JAVA之第二弹
  17. 滴滴AI负责人叶杰平:你的每一次出行,都已有AI落地的助力
  18. 微信小程序支付错误提示“商户号mch_id或sub_mch_id不存在”
  19. 计算机考试完后去哪领证,税务师考试全科通过后去哪领证?
  20. APK安装包如何安装到安卓手机上

热门文章

  1. 索尼visca协议封装
  2. 致远SPM解决方案之人力资源管理
  3. Navicat For Mysql破解
  4. restful规范对应的controller层注解,testng测试
  5. (华师)CSMA技术的P—坚持算法规则是什么?
  6. INSERT INTO IF NOT EXISTS问题
  7. 怎么用MindManager将导图导出为HTML5交互式导图
  8. 使用H5 canvas画一个坦克
  9. 谢康 | 同程旅游微服务最佳实践
  10. 华为交换机关机方法_华为交换机常用命令