vue3里将table表格中的数据导出为excel

想要实现前端对表格中的数据进行导出,这里推荐使用xlsx这个依赖库实现。

1、安装

pnpm install xlsx

2、使用

javascript 复制代码
import * as XLSX from "xlsx";

直接在组件里导入XLSX库,然后给表格table通过ref创建响应式数据拿到table实例,将实例传给XLSX.utils.table_to_book()方法,再使用XLSX.writeFile()就可以下载excel文件了。具体方法请看demo源代码。

3、demo源代码

javascript 复制代码
<template>
  <div class="page6">
    <div style="display:flex;justify-content: flex-end">
      <el-button type="primary" @click="exportExcel">导出</el-button>
    </div>
    <el-table ref="tableRef" :data="tableData" stripe style="width: 100%">
      <el-table-column prop="date" label="Date" width="180" />
      <el-table-column prop="name" label="Name" width="180" />
      <el-table-column prop="address" label="Address" />
    </el-table>
  </div>
</template>

<script setup>
import * as XLSX from 'xlsx'
const tableRef = ref(null)
const exportExcel = () =>{
  const tableDom = tableRef.value?.$el;
  if (tableDom) {
    const wb = XLSX.utils.table_to_book(tableDom);
    XLSX.writeFile(wb, '表格数据.xlsx');
  }

}
const tableData = [
  {
    date: '2016-05-03',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-02',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-04',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-01',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
]
</script>

<style lang="less" scoped>
.page6{
  width: 100%;
  height: 100%;
  padding: 20px;
}

</style>

4、效果

下载的excel文件

相关推荐
图片转成excel表格10 分钟前
wps怎么算出一行1和0两种数值中连续数值1的个数,出现0后不再计算?
excel·wps
别拿曾经看以后~20 分钟前
【el-form】记一例好用的el-input输入框回车调接口和el-button按钮防重点击
javascript·vue.js·elementui
我要洋人死23 分钟前
导航栏及下拉菜单的实现
前端·css·css3
川石课堂软件测试25 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
科技探秘人34 分钟前
Chrome与火狐哪个浏览器的隐私追踪功能更好
前端·chrome
科技探秘人35 分钟前
Chrome与傲游浏览器性能与功能的深度对比
前端·chrome
JerryXZR40 分钟前
前端开发中ES6的技术细节二
前端·javascript·es6
七星静香42 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
q2498596931 小时前
前端预览word、excel、ppt
前端·word·excel
小华同学ai1 小时前
wflow-web:开源啦 ,高仿钉钉、飞书、企业微信的审批流程设计器,轻松打造属于你的工作流设计器
前端·钉钉·飞书