<template>
<el-upload
ref="upload"
class="upload-demo"
:limit="1"
:on-exceed="handleExceed"
:show-file-list="false"
action
accept=".xlsx,.xls"
:auto-upload="false"
:on-change="handleChange"
>
<template #trigger>
<el-button type="primary" :icon="Download" plain>导入</el-button>
</template>
</el-upload>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { genFileId } from 'element-plus'
import { Download } from '@element-plus/icons-vue'
//excel文件数据解析
import * as XLSX from 'xlsx'
import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
const upload = ref<UploadInstance>()
const handleExceed: UploadProps['onExceed'] = (files) => {
upload.value!.clearFiles()
const file = files[0] as UploadRawFile
file.uid = genFileId()
upload.value!.handleStart(file)
}
interface tableConfigType {
nam
前端导入Excel表格获取数据(Vue3+TS+Element)
最新推荐文章于 2025-07-20 02:16:21 发布