vue导出excel ------------ 多级表头

先装插件 不装没人救得了你

npm install xlsx --save
<!--
 * @Author: zhang_gen_yuan
 * @Date: 2020-12-08 14:29:52
-->
<template>
  <div>
    <el-table ref="report-table" :data="tableData" style="width: 100%">
      <el-table-column prop="date" label="序号" width="150"> </el-table-column>
      <el-table-column label="名称">
        <el-table-column prop="name" label="风向" width="120">
        </el-table-column>
        <el-table-column prop="province" label="风速" width="120">
        </el-table-column>
        <el-table-column prop="city" label="温度" width="120">
        </el-table-column>
        <el-table-column prop="address" label="地址" width="300">
        </el-table-column>
        <el-table-column prop="zip" label="邮编" width="120"> </el-table-column>
      </el-table-column>
    </el-table>
    <el-button @click="exportExcel('陈奎宁')">导出</el-button>
  </div>
</template>

<script>
import FileSaver from "file-saver";
import XLSX from "xlsx";
export default {
  data() {
    return {
      tableData: [
        {
          date: "1",
          name: "15",
          province: "37",
          city: "156",
          address: "37市156金沙江路 1518 弄",
          zip: 200333,
        },
      ]
    };
  },
  methods: {
    exportExcel(excelName) {
      try {
        const $e = this.$refs["report-table"].$el;
        let $table = $e.querySelector(".el-table__fixed");
        if (!$table) {
          $table = $e;
        }
        const wb = XLSX.utils.table_to_book($table, { raw: true });
        const wbout = XLSX.write(wb, {
          bookType: "xlsx",
          bookSST: true,
          type: "array",
        });
        FileSaver.saveAs(
          new Blob([wbout], { type: "application/octet-stream" }),
          `${excelName}.xlsx`
        );
      } catch (e) {
        if (typeof console !== "undefined") console.error(e);
      }
    },
  },
};
</script>
<style>
</style>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值