Excel导出

86 阅读1分钟

<el-button v-arrow="'excel_export'" size="small" type="primary" @click="handleDownload" >导出</el-button>

    `<script>
        methods:{
        handleDownload() {
  this.downloadLoading = true
  import('@/vendor/Export2Excel').then(async(excel) => {
    const res = await getEmployeeList({ page: 1, size: this.total })
    const list = res.data.rows
    const tHeader = this.header
    const data = this.formatJson(list)
    excel.export_json_to_excel({
      header: tHeader,
      data,
      filename: 'web72', // 导出表格名字
      autoWidth: true, // 自适应
      bookType: 'xlsx'
    })
    this.downloadLoading = false
  })
},
formatJson(list) {
  const map = {
    'id': '编号',
    'password': '密码',
    'mobile': '手机号',
    'username': '姓名',
    'timeOfEntry': '入职日期',
    'formOfEmployment': '聘用形式',
    'correctionTime': '转正日期',
    'workNumber': '工号',
    'departmentName': '部门',
    'staffPhoto': '头像地址'
  }
  return list.map(item => {
    const obj = {}
    const enkeys = Object.keys(map)
    enkeys.forEach(key => {
      const chkeys = map[key]
      obj[chkeys] = item[key]
      // console.log(obj, 999)
    })
    const valueArr = Object.values(obj)
    this.header = Object.keys(obj)
    return valueArr
  })
}
        }
    </script>`