Vue项目中el-table导出Excel过程

 更新时间:2026年04月14日 09:20:19   作者:Sunshine_Jian  
文章介绍了Vue项目中使用xlsx和file-saver库导出表格数据为Excel文件的步骤,包括安装依赖、引入库、设置表格ID、添加导出按钮以及处理下载等

1、安装相关的依赖(xlsx,file-saver)

npm install --save xlsx file-saver

2、在main.js里引入

import FileSaver from 'file-saver'
import XLSX from 'xlsx'
Vue.prototype.$FileSaver = FileSaver; //设置全局
Vue.prototype.$XLSX = XLSX; //设置全局

3、设置表格的id

<el-table
    id="out-table"
    :header-cell-style="{
    background: 'rgba(245,248,253,1)',
    color: '#554'
    }"
    :row-style="{ height: '30px' }"
    :cell-style="{ padding: '0px'}"
    border
    :data="tableData"
    v-loading="loading"
    stripe
>
<el-table>

4、导出按钮(触发)

<el-button
    size="small"
    type="primary"
    icon="el-icon-download"
    @click="exportData"
>导出</el-button>

5、下载处理

methods: {
    //导出功能
    exportData(){
      let excelName = '导出表格名称.xlsx';
      var xlsxParam = { raw: true };//转换成excel时,使用原始的格式
      // 克隆节点
      let tables = document.getElementById("out-table").cloneNode(true);
      // 判断是否为固定列,解决(为固定列时,会重复生成表格)
      if (tables.querySelector('.el-table__fixed') !== null) {
        tables.removeChild(tables.querySelector('.el-table__fixed'))
      }
      let table_book = this.$XLSX.utils.table_to_book(tables,xlsxParam);
      var table_write = this.$XLSX.write(table_book, {
          bookType: "xlsx",
          bookSST: true,
          type: "array"
      });
      try {
          this.$FileSaver.saveAs(
              new Blob([table_write], { type: "application/octet-stream" }),
              excelName
          );
      } catch (e) {
          if (typeof console !== "undefined") console.log(e, table_write);
      }
      return table_write;
      
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Vue如何自定义hooks(组合式)函数

    详解Vue如何自定义hooks(组合式)函数

    这篇文章主要为大家详细介绍了在Vue中如何实现自定义hooks(组合式)函数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-03-03
  • Vue实例初始化为渲染函数设置检查源码剖析

    Vue实例初始化为渲染函数设置检查源码剖析

    这篇文章主要为大家介绍了Vue实例初始化为渲染函数设置检查源码剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • vue实现菜单权限控制的示例代码

    vue实现菜单权限控制的示例代码

    这篇文章主要介绍了vue实现菜单权限控制的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Vue3+Spring Framework框架开发实战

    Vue3+Spring Framework框架开发实战

    这篇文章主要为大家介绍了Vue3+Spring Framework框架开发实战详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • vue3中Teleport和Suspense的具体使用

    vue3中Teleport和Suspense的具体使用

    本文主要介绍了vue3中Teleport和Suspense的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • VUE项目IIS部署使用nginx代理访问后端接口方式

    VUE项目IIS部署使用nginx代理访问后端接口方式

    文章浏览阅读704次。文章讲述了项目使用vue-element-admin遇到的跨域问题,尝试了浏览器JS、打包路径、路由模式和IIS代理等方法均无效,最终通过配置Nginx进行后端接口代理解决了问题,同时提供了参考文档链接。
    2025-12-12
  • 在使用vuex的时候出现commit未定义错误的解决

    在使用vuex的时候出现commit未定义错误的解决

    这篇文章主要介绍了在使用vuex的时候出现commit未定义错误的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 利用Vue3和element-plus实现图片上传组件

    利用Vue3和element-plus实现图片上传组件

    element-plus提供了uploader组件,但是不好定制化。所以本文将利用Vue3和element-plus实现一个图片上传的组件,感兴趣的可以了解一下
    2022-03-03
  • 在vue-cli项目中如何使用swiper

    在vue-cli项目中如何使用swiper

    这篇文章主要介绍了在vue-cli项目中如何使用swiper问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Vue Router根据后台数据加载不同的组件实现

    Vue Router根据后台数据加载不同的组件实现

    本文主要介绍了根据用户所购买服务的不同,有不同的页面展现。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论