我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue导出excel文件流中文乱码如何解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue导出excel文件流中文乱码如何解决

本篇内容介绍了“vue导出excel文件流中文乱码如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

导出excel文件流中文乱码

vue导出excel文件流中文乱码如何解决

解决此方法很多网上的差不多都可以。一下提供简单的方法

 loads(){  let data={  userWord:this.dataList.userWord,  examId:this.$route.query.id,  exportType:this.active,  }api.exportUserResult(data).then((res) => {const blob = new Blob([res.data]);                     const fileName = '考试成绩.xls';                    const linkNode = document.createElement('a');                    linkNode.download = fileName; //a标签的download属性规定下载文件的名称                    linkNode.style.display = 'none';                    linkNode.href = URL.createObjectURL(blob); //生成一个Blob URL                    document.body.appendChild(linkNode);                    linkNode.click();  //模拟在按钮上的一次鼠标单击                    URL.revokeObjectURL(linkNode.href); // 释放URL 对象                    document.body.removeChild(linkNode);      });  },

注意:

vue导出excel文件流中文乱码如何解决

填写

另住拦截器,因为判断result,没在正确里返回,所以我直接返回

vue导出excel文件流中文乱码如何解决

导出excel乱码(锟斤拷唷?锟?;锟斤拷)

vue导出excel文件流中文乱码如何解决

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

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

前端代码:

     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"; 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;    }  }}

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

“vue导出excel文件流中文乱码如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue导出excel文件流中文乱码如何解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue导出excel文件流中文乱码如何解决

本篇内容介绍了“vue导出excel文件流中文乱码如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!导出excel文件流中文乱码解决此方
2023-06-30

mysql导出csv文件乱码如何解决

出现乱码的原因可能是导出时未指定正确的字符编码格式。要解决这个问题,可以尝试以下几种方法:在导出命令中指定正确的字符编码格式,例如:SELECT * INTO OUTFILE 'file.csv' CHARACTER SET utf8 FI
mysql导出csv文件乱码如何解决
2024-04-18

java导出excel时出现文件名乱码解决方法

java解决导出Excel时文件名乱码的方法示例:(推荐:java视频教程)String agent = request.getHeader("USER-AGENT").toLowerCase(); response.setContentType("app
java导出excel时出现文件名乱码解决方法
2021-11-16

java导出文件出现文件名乱码解决方法

出现的问题:在chrome浏览器中导出的excel文件名没有出现中文乱码的情况,在测试IE浏览器的时候,导出的文件名乱码了。解决方法:原来的代码:try { response.setContentType("application/vnd
java导出文件出现文件名乱码解决方法
2015-07-21

mysql导出csv文件乱码怎么解决

如果在导出csv文件时出现乱码,可以尝试以下方法来解决:检查数据库表的字符集编码是否正确设置为UTF-8。可以使用以下命令查看表的字符集编码:SHOW CREATE TABLE table_name;如果字符集编码不是UTF-8,可以使用以
mysql导出csv文件乱码怎么解决
2024-04-09

oracle导出dmp文件乱码怎么解决

出现乱码的情况可能是因为导出的dmp文件是二进制文件,在文本编辑器中打开会出现乱码。解决方法如下:使用Oracle提供的工具expdp导出dmp文件,该工具能够正确地处理导出的数据格式,避免出现乱码情况。如果已经使用exp导出的dmp文件出
oracle导出dmp文件乱码怎么解决
2024-04-19

java怎么解决导出csv文件乱码

将查询的数据以xls文件导出时(UTF-8编码),数据正常;但以CSV文件导出时,文件中的中文乱码,同样是UTF-8编码,改成GBK编码导出时,中文显示正常。(推荐:java视频教程)解决方法:以CSV方式导出的文件中默认不含BOM信息,通过给将要输出的内容设
java怎么解决导出csv文件乱码
2020-05-06

plsql导入中文乱码如何解决

在导入中文数据时,如果出现乱码,可以尝试以下方法解决:修改数据库字符集:可以将数据库的字符集修改为支持中文字符的字符集,例如UTF-8。可以通过ALTER DATABASE命令来修改数据库字符集。指定字符集:在导入数据时,可以通过使用NCH
plsql导入中文乱码如何解决
2024-02-29

如何解决Vue.js导出Excel出现乱码的问题

Vue.js是一款流行的前端 JavaScript 框架。在Vue.js开发中,使用二进制文件来导出Excel文件时,可能会遇到Excel乱码的问题。这篇文章将通过介绍二进制编码的概念和解决方案来帮助大家解决Vue.js导出Excel出现乱码的问题。一、二进制编码二进制编码是计算机中十分重要的概念,这里进行一个简单的介绍。计算机中的数据都是以二进制数存储的,二进制数仅由0和1组
2023-05-14

node.js输出中文乱码如何解决

这篇文章主要介绍“node.js输出中文乱码如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node.js输出中文乱码如何解决”文章能帮助大家解决问题。node.js输出中文乱码的解决办法:1
2023-07-04

tomcat输出中文乱码如何解决

要解决Tomcat输出中文乱码的问题,可以参考以下几个步骤:1. 在Tomcat的配置文件server.xml中,找到Connector节点,添加以下属性:```xmlURIEncoding="UTF-8" useBodyEncodingF
2023-09-23

SpringMVC中出现中文乱码如何解决

SpringMVC中出现中文乱码如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。表单<%@ page contentType="text/html;charset=U
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录