vue3+element表格调用后台接口实现Excel导出功能以及导出乱码问题解决

简介: vue3+element表格调用后台接口实现Excel导出功能以及导出乱码问题解决

实现效果

导出后的效果:

步骤

第一步:安装依赖

npm install --save xlsx file-saver

第二步:引入依赖

// 引入导出Excel表格依赖
import * as FileSaver from "file-saver";
import * as XLSX from "xlsx";

第三步:导出

// 导出事件
const exportClick = () => {
  axios({
    method: 'post',
    url: '/pcapi/Redeem/derive',
    data: qs.stringify({}),
  })
    .then((res) => {
      console.log(res.data)
      const data = new Blob([res.data], {
        type: 'application/vnd.ms-excel;charset=utf-8',
      })
      const downloadUrl = window.URL.createObjectURL(data)
      const anchor = document.createElement('a')
      anchor.href = downloadUrl
      anchor.download = '表格名称.xlsx' // 表格名称.文件类型
      anchor.click()
      window.URL.revokeObjectURL(res.data) // 消除请求接口返回的list数据
    })
    .catch((err) => {
      console.log(err)
    })
}

   接口返回数据导出,通常需要请求后端接口获取数据,接口返回的数据基本上是乱码的,需要先处理乱码的数据,否则导出来的文件是损坏的,如下

       看到这种返回信息,表格数据基本上是已经拿到了,现在只需要做一下数据的处理即可导出表格。

解决方法步骤拆解:解码

在请求接口的位置添加 { responseType: 'blob' } 将信息转码

  axios({
    method: 'post',
    url: '/pcapi/Redeem/derive',
    data: qs.stringify({}),
    responseType: 'blob', // 添加 blob 解决乱码问题,或者 arraybuffer
  })
    .then((res) => {
    })
    .catch((err) => {
    })
相关文章
|
1月前
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
65 0
|
19天前
|
存储 开发框架 前端开发
在Winform中直接录入表格数据和在Vue&Elment中直接录入表格数据的比较
在Winform中直接录入表格数据和在Vue&Elment中直接录入表格数据的比较
|
25天前
|
数据可视化 数据管理 定位技术
如何将QGIS中的属性表与Excel表格关联?
作为UE开发人员,经常会使用到QGIS进行数据管理编辑。QGIS与Excel之间数据并不完全兼容,而UE开发过程中大部分的前期数据都储存在Eecel里。为了将Excel数据写入QGIS属性表实现数据可视化,我们内部总结了一个最快捷的方法
|
6天前
Map——全国省市区EXCEL表格(包含code)
Map——全国省市区EXCEL表格(包含code)
16 0
|
1月前
|
数据格式 Python
Python代码示例,读取excel表格,将行数据转为列数据。(10)
【7月更文挑战第10天】Python代码示例,读取excel表格,将行数据转为列数据。
54 2
|
18天前
|
前端开发 easyexcel
SpringBoot+Vue3实现Excel导入
SpringBoot+Vue3实现Excel导入
29 0
|
1月前
|
Python
【Python】已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’
【Python】已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’
44 0
|
7天前
|
数据可视化 Python
我是如何把python获取到的数据写入Excel的?
我是如何把python获取到的数据写入Excel的?
21 2
|
2月前
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
30 1
|
4天前
|
数据管理 数据处理 数据库
分享一个导出数据到 Excel 的解决方案
分享一个导出数据到 Excel 的解决方案