vue3导入excel表格并展示(使用xlsx插件+vite+element-plus)/js上传表格(js+xlsx)
<template>
<div>
<input type="file" @change="handleFileChange" />
<el-table :data="tableData" style="width: 100%">
<el-table-column v-for="header in headers" :key="header" :prop="header" :label="header">
</el-table-column>
</el-table>
</div>
</template>
<script setup>
import { ref } from 'vue';
import XLSX from 'xlsx';
const tableData = ref([]);
const headers = ref([]);
const handleFileChange = (e) => {
const reader = new FileReader();
reader.onload = (e) => {
const data = new Uint8Array(e.target.result);
const workbook = XLSX.read(data, { type: 'array' });
const firstSheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[firstSheetName];
const jsonData = XLSX.utils.sheet_to_json(worksheet);
headers.value = Object.keys(jsonData[0]);
tableData.value = jsonData;
};
reader.readAsArrayBuffer(e.target.files[0]);
};
</script>
这段代码使用了Vue 3的<script setup>
语法糖,结合了xlsx库来处理Excel文件。它包含了一个文件输入框和一个Element Plus的表格,用于展示通过文件上传的Excel数据。当用户选择一个Excel文件后,文件会被读取并解析成JSON,然后更新表格的数据。这是一个简洁的实现,适合作为参考。
评论已关闭