vue+element实现Table导出为Excel文件

首先安装一下依赖
npm install xlsx file-saver -S
npm install script-loader -S -D

<template>
 <div>
  <el-table :data="tableData" style="width: 100%" id='out-table' > 
    <el-table-column prop="date" label="日期" width="180"></el-table-column>
    <el-table-column prop="name" label="姓名" width="180"></el-table-column>
    <el-table-column prop="address" label="地址"> </el-table-column>
  </el-table>
  <el-button type="primary" @click="exportExcel">导出为Excel</el-button>
 </div>
</template>

ps:超文本标记语言 XLSX.uitls.table_to_book( 放入的是table 的DOM 节点 ) ,sheetjs.xlsx 就是导出表格的名字,可以修改!

<script>
// 引入依赖
import FileSaver from 'file-saver'
//如果报错就修改为 >> import * as XLSX from 'xlsx'
import XLSX from 'xlsx' 
export default {
 data() {
  return {
   tableData: [{
    date: '2016-05-02',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    date: '2016-05-04',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1517 弄'
    }]
   }
  },
 methods:{
  exportExcel () {
   var wb = XLSX.utils.table_to_book(document.querySelector('#out-table'))
   var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
   try {
    FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')
   } catch (e) { 
     if (typeof console !== 'undefined') console.log(e, wbout) 
     }
   return wbout
  },
 }
}

浏览器运行并点击导出
在这里插入图片描述
导出的Excel表格
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值