欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

elementui导出数据为xlsx、excel表格

时间:2022-01-11 10:30:12|栏目:vue|点击:

最近学习vue项目,遇见elementui导出数据为xlsx、excel表格,今天就介绍给大家,也给自己留个笔记,方便查询

我这里为了同学们好理解,把所有元素都写到一个页面。

 1.第一步安装插件

npm install file-saver
npm install xlsx

2.第二步在mian.js中设置全局

// vue中导出excel表格模板
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
 
Vue.prototype.$FileSaver = FileSaver; //设置全局
Vue.prototype.$XLSX = XLSX; //设置全局

3.第三步使用 

<template>
  <div class="daochu">
      <el-button @click="o" type="success" round>导出</el-button>
      <el-table
    id="ou"
    :data="tableData"
    style="width: 100%"
    :default-sort="{ prop: 'date', order: 'descending' }"
     >
    <el-table-column prop="date" label="日期" sortable width="180">
    </el-table-column>
    <el-table-column prop="name" label="姓名" sortable width="180">
    </el-table-column>
    <el-table-column prop="address" label="地址" :formatter="formatter">
    </el-table-column>
  </el-table>
 
  </div>
</template>
<script>
export default {
  data() {
    return {
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        }
      ],
    };
  },
  methods:{
    o() {
      let tables = document.getElementById("ou");
      let table_book = this.$XLSX.utils.table_to_book(tables);
      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" }),
          "sheetjs.xlsx"
        );
      } catch (e) {
        if (typeof console !== "undefined") console.log(e, table_write);
      }
      return table_write;
    },
  }
}
</script>

可以看到已经导出 

实际工作中导出按钮单独抽离出去做到可以复用才是比较合理的

上一篇:vue 进阶之实现父子组件间的传值

栏    目:vue

下一篇:vue.js集成echarts时遇到的一些问题总结

本文标题:elementui导出数据为xlsx、excel表格

本文地址:http://www.codeinn.net/misctech/189805.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有