<template>
  <span style="margin-right:10px">
    <el-button type="primary" @click="exportExcel()">
      {{useType === 'export' ?  '导出' : '模板下载' }}
    </el-button>
  </span>
</template>
 
<script>
// 引入组件
import XLSX from "xlsx";
export default {
  props: {
    exportList: {
      type: Array,
      default: () => {
        return []
      },
    },
    partsName: String,
    useType: String
  },
  data() {
    return {};
  },
  methods: {
    exportExcel() {
      // 数据源
      // let data = [];
      // this.exportList.forEach((item) => {
      //   let values = {}
      //   for (const key in item) {
      //     values[key] = item[key]
      //   }
      //   data.push(values);
      // });
      // console.log(data);
      // 下载的路径
      let fileName = `${this.partsName}.xlsx`;
      let filePath = fileName;
      // 新建workbook
      const wb = XLSX.utils.book_new();
      // 新建worksheet，并载入数据
      const ws = XLSX.utils.json_to_sheet(this.exportList);
      // 设置每列的列宽，10代表10个字符，注意中文占2个字符
      ws["!cols"] = [{ wch: 30 }, { wch: 30 }];
      // 生成xlsx文件(workbook，worksheet数据，sheet命名)
      XLSX.utils.book_append_sheet(wb, ws, "Sheet1");

      // 写文件(workbook，xlsx文件路径+文件名)
      XLSX.writeFile(wb, filePath);
      this.$message({
        showClose: true,
        message: "下载成功",
        center: true,
        type: "success",
      });
    },
  }
};
</script>
 
<style>
.input-file {
  display: none;
}
</style>