Ben Lin
2024-06-18 ebbd788fbb2c0b45d4473798efc57eec8ba74a25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<template>
  <PageWrapper title="导出示例" content="可以选择导出格式">
    <BasicTable title="基础表格" :columns="columns" :dataSource="data">
      <template #toolbar>
        <a-button @click="openModal"> 导出 </a-button>
      </template>
    </BasicTable>
    <ExpExcelModal @register="register" @success="defaultHeader" />
  </PageWrapper>
</template>
 
<script lang="ts" setup>
  import { BasicTable } from '@/components/Table';
  import { jsonToSheetXlsx, ExpExcelModal, ExportModalResult } from '@/components/Excel';
  import { columns, data } from './data';
  import { useModal } from '@/components/Modal';
  import { PageWrapper } from '@/components/Page';
 
  function defaultHeader({ filename, bookType }: ExportModalResult) {
    // 默认Object.keys(data[0])作为header
    jsonToSheetXlsx({
      data,
      filename,
      write2excelOpts: {
        bookType,
      },
    });
  }
  const [register, { openModal }] = useModal();
</script>