解决方法在最下面,可以直接去看【解决方法-->正解】

【问题描述】

使用blob导出.xlsx文件打开后出错,如下:

WPS表格 在试图打开文件时遇到错误。请尝试以下方法。

检查文档或驱动器得到访问权限。

确保有足够的内存和磁盘空间。

确保此文件是可以识别的格式。

前端查看response响应值如下:

可以看出,response.data是一串乱码,并不是自己要求的blob类型。

这串乱码被放到了.xlsx文件中当然就打不开拉。可以用notepad++打开导出的.xlsx文件,就是这串乱码。

response.data的值如下:

抄一下别人的图清楚点:(图转自:https://blog.csdn.net/qq_38804584/article/details/109238794)

【问题解决】

1.失败尝试一

首先我参考了https://blog.csdn.net/csu_passer/article/details/91952460

将new Blob([data], {type: 'application/vnd.ms-excel'}))

改为了:new Blob(['\uFEFF' +data], {type: application/vnd.ms-excel;charset=utf-8'}))

结果呢,确实是打开文件了,但是打开后是一串乱码。修改这句话的作用其实就是把乱码当作文本放在了excel中,打开excel后显示的文本就是response.data中的乱码。

打开后就是这样:(图转自:https://blog.csdn.net/qq_38804584/article/details/109238794)

2.失败尝试一

然后参考了https://blog.csdn.net/qq_38804584/article/details/109238794

博主说:

然后我找啊找,找了很久,网上方法都尝试了。最后看到网上有盆友说可能是使用了mock模拟的原因,我就把mock的使用关掉了(没有设置开关的盆友就可以在引入的位置注释)。

然后我并没找到这个变量。

日后我会再找找自己的应该修改什么变量。

3.正解

参考了这位博主文章:https://blog.csdn.net/belove_lucy/article/details/95476669

博主说:

之前都是正常的,昨天测了一个下午都失败了,前端拿来的数据变成json格式,并不是规定好的blob类型。。。

最后才发现是因为项目被我引进了mock,关掉就好了

个人感觉,是mock拦截所有的请求(不管他是不是被mock的接口),将返回数据类型统一转了json格式。。。据说mock还会私自更改其他请求配置?

我查询问题的链接:https://github.com/PanJiaChen/vue-element-admin/issues/562

点开链接看看,发现有人直接将import './mock'注释掉了,如图:

接下来将前端项目中main.js的 import './mock'注释掉,成功解决问题。

注释掉后response.data返回的值应差不多是下面这个样子的,注意这里的data是data:Blob(5432)了。

blob导出的excel文件打不开,responseType: “blob“ 但 response回应类型不是blob类型,response.data是乱码。相关推荐

  1. php导出excel表格 打不开,phpspreadsheet 导出的EXCEL 文件打不开

    PHP 版本7.1.3我输入 网址http://localhost/fast/vendor/phpoffice/phpspreadsheet/samples/Basic/01_Simple_downl ...

  2. (vue)vue导出excel文件打不开,或者文件内容为object object

    (vue)vue导出excel文件打不开,或者文件内容为object object[已解决] bug: 主要原因:没有注意到后端返回的数据格式,需要的是res而不是res.data 正确写法: < ...

  3. 应用phpexcel导出excel文件后打不开的问题解决方法

    应用phpexcel导出excel文件后打不开的问题解决方法 参考文章: (1)应用phpexcel导出excel文件后打不开的问题解决方法 (2)https://www.cnblogs.com/im ...

  4. swagger easyExcel导出Excel文件打不开,文件损坏

    alibaba/easyexcel文件导出 swagger easyExcel导出Excel文件打不开,文件损坏 文件下载打不开,将文件输出到本地发现可以打开,而且swagger下载的文件大小比本地文 ...

  5. swagger接口导出excel文件打不开

    swagger接口导出excel文件打不开: 接口添加produces="application/octet-stream" @ApiOperation(value = " ...

  6. 第六期:如何通过知晓云将数据表导出为 Excel 文件

    作者:知晓云 - 小程序开发快人一步 来源:知晓课堂 在日常的工作中,常常需要根据运营需求对数据进行各种格式的处理和导出.导出后,不少人偏爱将数据放入 excel在进行处理. 一般来说,处理数据导出时 ...

  7. easyexcel使用问题:使用时导出的excel文件损坏,打开不了,后台没异常错误

    错误问题:使用时导出的excel文件损坏,打开不了,后台没异常错误 解决方式:因为前端使用的是blob,最后定位错误在前端发送请求时漏了一个参数, responseType: 'blob' expor ...

  8. Vue 使用XLSX导出excel,并且设置标题背景颜色、字体、居中。并且在前端导出成excel文件

    1.先看效果图 2.引入依赖 npm install xlsx-style --save npm install --save xlsx 3.运行项目会发生一个报错 This relative mod ...

  9. vue导出excel加一个进度条_vue项目中如何把数据导出成excel文件

    Loading... 关于vue中如何把数据导出成excel文件 ### 1. 安装依赖 ``` yarn add file-saver yarn add xlsx yarn add script-l ...

最新文章

  1. jittor和pytorch生成网络对比之stargan
  2. boost::mp11::mp_min_element_q相关用法的测试程序
  3. 手游运营重度化,抓好论坛专区“预热战场”
  4. Ubuntu 14.04下编译WebRTC
  5. python中grid函数_Python / NumPy中meshgrid的目的是什么?
  6. 【LeetCode】【HOT】394. 字符串解码(栈)
  7. sprintboot入门
  8. 回到顶部 jquery
  9. PHP学习笔记五(命名空间)
  10. [转贴]九大职业之一了百了[启示录]
  11. oracle怎么启动oem,Oracle 启动OEM
  12. python控制EnergyPlus方法(linux)
  13. 下载速度MB/s与Mb/s的区别
  14. Mysql用户与权限操作
  15. ps_图片大小精准裁剪
  16. 基因的entrez ID 跟symbol等其它ID的转换程序
  17. 个人youtube视频观看历史分析
  18. PQ分区魔术师调整硬盘分区大小
  19. 安装卸载Xftp时,遇到的1605和1628问题
  20. 批量处理ios破解后的资源文件为android所用

热门文章

  1. leetcode初级———旋转数组的多种算法总结
  2. 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转
  3. 一个人的赛道——天数智芯在AI计算领域的突围
  4. ppi协议源码 c语言,西门子PPI通讯协议
  5. NOI2018 游记
  6. tf2常用数据类型与常用函数汇总
  7. 软件测试:Alpha测试与beta测试区别
  8. 在mac上进行运行flutter项目
  9. MBA心路历程第一天 —— 开始行动
  10. java案例之制作系统