vue excal 表格导出

案例以vue 和element 为例
element 按照 正常的使用方法 安装,使用
具体看导出步骤:
1.安装依赖项 :
npm i file-saver xlsx script-loader -D

2.下载 所需的js 文件
下载链接:https://download.csdn.net/download/qq_43101321/11674316 //这个需要积分
下载链接:https://pan.baidu.com/s/1bFqQJEGPaKECoxEpHcHR8A // 免费
提取码:3iqo

在 src 下创建目录,并将下方的js文件放到该目录
在这里插入图片描述
3.可以封装一个导出的组件 (方便复用)
新建一个导出组件:

<template title="导出表格">
  <div>
    <el-button
      :type="type"
      :list="list"
      :t-header="tHeader"
      :t-value="tValue"
      @click="handleOutput"
    >{{ text }}</el-button>
  </div>
</template>

<script>
export default {
  name: 'Educe',
  props: {
    list: {
      type: Array,
      default: function() {
        return []
      }
    },
    tHeader: {
      type: Array,
      default: function() {
        return []
      }
    },
    tValue: {
      type: Array,
      default: function() {
        return []
      }
    },
    text: {
      type: String,
      default: '导出'
    },
    type: {
      type: String,
      default: 'success'
    }
  },
  methods: {
    handleOutput() { // 导出
      var that = this
      require.ensure([], () => {
        const { export_json_to_excel } = require('../vendor/Export2Excel')  // 引入文件
        const tHeader = that.tHeader
        const filterVal = that.tValue// table表格中对应的属性名
        const list = that.list  // 想要导出的数据
        const data = this.formatJson(filterVal, list)
        export_json_to_excel(tHeader, data, '用户列表')
      })
    },
    formatJson(filterVal, jsonData) {
      return jsonData.map(v => filterVal.map(j => v[j]))
    }
  }
}
</script>

<style scoped>

</style>


4.组件使用:
import Educe from ‘…/…/components/educe’ //你的组件名

tHeader : 表头
tValue:字段值
list: 表格数据
eg:
tHeader : [‘日期’, ‘姓名’, ‘地址’],
tValue:[‘date’, ‘name’, ‘address’],

到此结束

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以使用以下步骤在 Vue导出 Excel 表格: 1. 安装 `xlsx` 和 `file-saver` 库: ```bash npm install xlsx file-saver --save ``` 2. 在 Vue 组件中引入这两个库: ```javascript import XLSX from 'xlsx'; import FileSaver from 'file-saver'; ``` 3. 创建一个方法来实现导出 Excel 表格的逻辑: ```javascript exportExcel() { const worksheet = XLSX.utils.json_to_sheet(this.tableData); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); const data = new Blob([excelBuffer], { type: 'application/octet-stream' }); FileSaver.saveAs(data, 'table.xlsx'); } ``` 在上面的代码中,我们首先将表格数据转换成工作表对象,然后将工作表对象添加到工作簿对象中。接着,我们使用 `XLSX.write` 方法将工作簿对象转换成 Excel 文件的二进制数据。最后,我们将二进制数据保存到 `Blob` 对象中,并使用 `FileSaver.saveAs` 方法将其保存为 Excel 文件。 4. 在 Vue 模板中添加一个按钮来触发导出方法: ```html <template> <div> <button @click="exportExcel">导出 Excel</button> <table> <thead> <tr> <th>Name</th> <th>Age</th> <th>Gender</th> </tr> </thead> <tbody> <tr v-for="item in tableData" :key="item.id"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.gender }}</td> </tr> </tbody> </table> </div> </template> ``` 在上面的代码中,我们添加了一个按钮来触发导出方法,并在表格中展示了数据。 这样,你就可以在 Vue 中轻松地实现导出 Excel 表格的功能了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值