我这个是 post请求乱码了 ,如果是get,就直接window.open(url,'_blank')就可以了

1. “锟斤拷唷?锟?;锟斤拷”这种乱码信息导致的原因是:整个数据流的字符集 GBK=>UTF-8=>GBK导致的。

2. 前端代码:

     axios({method: "post",url: url,data: params,headers: {// ... 接口需要的请求头},responseType: "blob"}).then(response => {const blob =  new Blob([res.data],{type: 'application/vnd.ms-excel'});const fileName = res.headers["content-disposition"].split("=")[1]; //接口响应头定义的文件名downloadFile(blob, fileName);});
//import { Message } from "element-ui";/*** 文件下载, 对于下载链接可直接用 window.open(url, "_blank");* @param {*} data 二进制数据或base64编码 Blob、String* @param {*} fileName 下载的文件命名,可带扩展名,跨域下无效*/
export function downloadFile(data, fileName) {let url = "";let isBlob = false;const errMsg = "下载出错,文件数据无法识别!";if (data instanceof Blob) {isBlob = true;url = window.URL.createObjectURL(data);} else if (typeof data == "string") {// base64编码url = data;} else {Message.error(errMsg);return;}if ("download" in document.createElement("a")) {// 非IE下载const tmpLink = document.createElement("a");tmpLink.download = fileName || "";tmpLink.style.display = "none";tmpLink.href = url;document.body.appendChild(tmpLink);tmpLink.click();window.URL.revokeObjectURL(tmpLink.href); // 释放URL 对象document.body.removeChild(tmpLink);} else {// IE10+下载if (isBlob) {window.navigator.msSaveBlob(data, fileName);} else {//Message.error(errMsg);console.log(errMsg);return;}}
}

3. 感觉完美 但是结果下载下来的如一开始截图的乱码,其实代码没有问题,问题在于前端项目启用了mock.js,把所有 import 或 require   @/mock  的地方注释调就可以了

vue导出excel乱码(锟斤拷唷?锟?;锟斤拷)相关推荐

  1. 【黄啊码】PHP结合vue导出excel乱码

    在这之前我们先回顾以前用php导出excel,我直接写成方法在这里: public static function phpExcelList($field, $list, $title='文件',$f ...

  2. Vue导出Excel乱码问题(已解决)

    后端已经写好了导出Excel的接口,调用接口会发现后端返回的是二进制流文件 实现方法: 在封装接口时,给接口传递一个参数 [ responseType: 'blob' ]   该参数是处理导出Exce ...

  3. vue 导出Excel乱码问题解决方案

    我的 群153181864  前端交流群 ,绝对原创,转载请附上 本微博链接.打赏下哦~ vue交流1群:153181864  前端交流群(满) vue交流2群:869745456  前端交流2群 博 ...

  4. vue导出excel加一个进度条_vue导出excel遇到的问题解决方法

    本篇文章给大家带来的内容是关于vue导出excel遇到的问题解决方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 需求: Vue+element UI el-table下的导出当前 ...

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

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

  6. vue导出excel功能实现

    vue导出excel功能实现 第一步安装依赖包 第二步在项目中assets创建一个新的文件夹js用于存放Blob和Export2Excel两个js文件 第三步在你那个组件中使用 写事件方法 Expor ...

  7. 封装vue导出excel组件(扩展嵌入图片、操作工作表、表格样式等功能)

    导出的excel中嵌入图片,同时还需要操作多个工作表与表格样式, 看了一些java的插件不太适合,因为我这边的需求是动态表单,字段不固定.后端的插件大部分依赖实体类注解,要不就是操作比较繁琐.又看了一 ...

  8. vue导出excel表的时候有多张图片

    vue导出excel的时候多张图片 遇到数据结构是[ { id:id, image:['图片','图片','图片'] } ] 这样的数据导出,使用插件 js-table2excel 导出的时候发现它只 ...

  9. vue导出Excel表格全局函数(简洁明了)

    vue导出excel全局函数(简洁明了) 将导出到Excel功能封装成一个公用js函数,供其他vue页面复用. 1.安装Excel插件 npm install --save xlsx file-sav ...

最新文章

  1. Android 如何使用juv-rtmp-client.jar向Red5服务器发布实时视频数据
  2. 一文带你了解GaussDB(DWS) 的Roach逻辑备份实现原理
  3. 大数据_Hbase-(知识点回顾)---Hbase工作笔记0010
  4. Debian更新软件源提示There is no public key available for the following key IDs的解决方法
  5. 从@ComponentScan注解配置包扫描路径到IoC容器中的BeanDefinition,经历了什么(三)?
  6. 项目开发文档编写规范
  7. Promethus(普罗米修斯)监控系统
  8. IDEA 依赖自动导入,不用每次手动点击Load Maven Changes图标
  9. 解决react项目启动报错:error Couldn't find a package.json
  10. 图形化界面设计软件简要介绍
  11. 时间字符串转Timestamp时间戳
  12. 2022.10.23 英语背诵
  13. struct timeval用法与时间溢出问题
  14. 山居最大的好处,就是静
  15. 1094 谷歌的招聘(测试点2说明)
  16. 这些网站,你应该知道(一)
  17. 微信支付接口--支付成功的回调--超详细Demo
  18. 信道的极限容量-奈氏准则、香农公式
  19. matlab右上角星号怎么打出来,汉字右上角星号怎么?
  20. 2021年初级会计实务会计要素及其确认与计量

热门文章

  1. ROS学习笔记-创建订阅cmd_vel话题节点
  2. 基于ambarella安霸H.264编解码芯片的视频采集压缩系统
  3. 把汉字转换成拼音的util
  4. C/C++编程学习 - 第19周 ③ 不与最大数相同的数字之和
  5. bzoj 4424: Cf19E Fairy dfs
  6. /home/image/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py
  7. Python爬取视频之爱情电影及解密TS文件和两种合并ts的方法
  8. Alpha版本冲刺(三)
  9. 我们都被GitHub出卖了!逃跑吧兄弟!
  10. 网站被反诈中心DNS劫持解决教程