12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <template>
- <div class="m-4">
- <BasicTable title="基础表格" :columns="columns" :dataSource="data">
- <template #toolbar>
- <a-button @click="openModal">导出</a-button>
- </template>
- </BasicTable>
- <ExportExcelModel @register="register" @success="defaultHeader" />
- </div>
- </template>
- <script lang="ts">
- import { defineComponent } from 'vue';
- import { BasicTable } from '/@/components/Table';
- import { jsonToSheetXlsx, ExportExcelModel, ExportModalResult } from '/@/components/Excel';
- import { columns, data } from './data';
- import { useModal } from '/@/components/Modal';
- export default defineComponent({
- components: { BasicTable, ExportExcelModel },
- setup() {
- function defaultHeader({ filename, bookType }: ExportModalResult) {
- // 默认Object.keys(data[0])作为header
- jsonToSheetXlsx({
- data,
- filename,
- write2excelOpts: {
- bookType,
- },
- });
- }
- const [register, { openModal }] = useModal();
- return {
- defaultHeader,
- columns,
- data,
- register,
- openModal,
- };
- },
- });
- </script>
|