侧边栏壁纸
博主头像
iffyoO

一时的选择

  • 累计撰写 9 篇文章
  • 累计创建 7 个标签
  • 累计收到 1 条评论

vue2导出表格文件

iffyoO
2023-06-08 / 0 评论 / 1 点赞 / 129 阅读 / 323 字
温馨提示:
本文最后更新于 2023-09-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

说明

在后台管理系统中,有个必不可少的功能,就是把数据导出成excel文件。

依赖

在cmd使用该命令下载该依赖文件

cnpm install file-saver --save

下载完成在vue文件中引入

import { saveAs } from 'file-saver'

接口

前端调用接口
注意请求头的类型和响应的格式

// 导出客户列表
export const exportCustomerApi = (data) => http({
   url: '/prod-api/customer/export',
   method: 'post',
   data: data,
   headers: {
      'Content-Type': "application/x-www-form-urlencoded"
   },
   responseType: 'blob'
})

方法

调用接口成功之后 使用saveAs方法导出成excel文件

async exportExl() {
    const data = {
        pageNum: this.pageNum,
        pageSize: this.pageSize
    }
    const res = await exportCustomerApi(data)
    if (!res) return;
    // 处理成表格文件之后调用一个保存数据的方法,浏览器会自动下载
    console.log(res);
    saveAs(
        // Blob 对象表格一个不可变、原始数据的类文件对象
        // Blob 表示的不一定是JavaScript原生格式的数据
        // File 接口基于Blob,继承了blob的功能并将其扩展使其支持用户系统上的文件
        // 返回一个新创建的Blob对象,其内容参数中给定的数组串联组成
        new Blob([res]),
        // 设置导出文件名称
        `客户档案_${new Date().getTime()}.xlsx`
    )
},
1

评论区