首页 > 【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用

【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用

// 下载blob文件流(暂不支持手机H5唤起下载文件!!!)
downloadFile(res: any, fileName: any = '未命名', format: any = '.xlsx') {const blob = new Blob([res]);fileName += format;// for IEif (window.navigator && window.navigator.msSaveOrOpenBlob) {window.navigator.msSaveOrOpenBlob(blob, fileName);} else {// for Non-IE (chrome, firefox etc.)const elink = document.createElement('a');elink.download = fileName, elink.style.display = 'none', elink.href = URL.createObjectURL(blob);document.body.appendChild(elink), elink.click();URL.revokeObjectURL(elink.href), document.body.removeChild(elink);}
}

如果用以上方法下载的文件打开是乱码,请对ajax请求设置红色部分

$.ajax({

    url: 'url',

 xhrFields: { responseType: "arraybuffer" },

}).done((result) => {

 //    result 为arrayBuffer类型

})

如果用的不是ajax,而是axios,那么请设置: 

axiosData.responseType = 'blob'; //这句话解决导出文件乱码问题

知识拓展,何为 responseType

戳下方链接

https://s-z-q.blog.csdn.net/article/details/123647204https://s-z-q.blog.csdn.net/article/details/123647204

更多相关:

  • 本文来自 运维人生 ,作者:fly是个稻草人链接:http://www.ywadmin.com/?id=76误删除linux系统文件了?不用急,本文将给你一个恢复linux文件的方法,让你轻松应对运维中的各风险问题。方法总比问题多~说在前面的话针对日常维护操作,难免会出现文件误删除的操作。大家熟知linux文件系统不同win有回收...

  • 原文来自SecIN社区—作者:WiHat0x00 什么是WebShell渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权限,而...

  • 断电时文件系统发生了什么?硬盘又发生了什么?下一次开机时写到一半的文件在系统层面还在吗?在底层还在吗?更进一步的, 文件系统如何保证事务性, 会不会存在某种极端情况导致例如最后几个bit还没写完, 文件系统却认为它成功了的情况?回答不限任何文件系统,谢谢!下面是「北极」的回复分享断电的一瞬间,很多事情是无法确定的:1. 你无法确定...

  • 接到项目需求。需要搭建一个页面进行交互,慢慢来b (2).jpg使用python django框架进行页面的搭建在项目文件下打开窗口,输入命令;django-admin startproject helloword#在文件helloword/helloword/创建view.py在view.py文件中输入以代码from django....

  • 常见的错误集合解决方案(一)No.1提示错误'Microsoft.VC90.CRT,version="9.0.21022.8"把Microsoft.NET Framework 3.5.1下面的全部勾选上。No.2解决Qt Designer设计的图标但是VS生成不显示问题描述:在Qt designer中为菜单栏和工具栏设计的图标,但是...

  • head 看文件的前100行head -100  filename   tail/tailf查看文件的后100行tail -100  filename 或 tail -n 100  filename tailf filename == tail -f filename   sed sed -n '100,200p' filename...

  • public static void down(HttpServletRequest request,    HttpServletResponse response) throws Exception {         String name="aaa.*";//文件名   String uploadPath = UploadF...

  • 1.Scatter  从一个Channel读取的信息分散到N个缓冲区中(Buufer). 2.Gather  将N个Buffer里面内容按照顺序发送到一个Channel.       Scatter/Gather功能是通道(Channel)提供的  并不是Buffer, Scatter/Gather相关接口 类图     Re...

  • 你可能看到了表的前缀非常奇怪。Joomla将替换这个前缀,用安装时候指定的内容。对于通常的安装,这个表名将是jos_hello,这样可以多个安装使用一个数据库,并且能够避免表名冲突。 表中有两个字段,一是id,是主键,一是greeting. 以上内容保存在 install.utf.sql. 创建卸载sql文件 尽管我们希望永远不必...