npm install xlsx <el-upload class="upload-demo" ref="upload" accept=".xls,.xlsx" action="" :on-change="uploadExcel" :show-file-list="false" :auto-upload="false"
<el-button slot="trigger" size="large">导入excel</el-button>
import XLSX from "xlsx";
const menuData: any = ref([]);
const tableData: any = ref([]);
const uploadExcel = (file: any, fileList: any) => {
let files = { 0: file.raw };
const fileReader = new FileReader();
fileReader.onload = (e: any) => {
try {
const workbook = XLSX.read(e.target.result, {
type: "binary",
});
const wsname = workbook.SheetNames[0]; // 取第一张表
const ws: any = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]); // 生成json表格内容
const data: any = [];
ws.map((item: any) => {
let obj: any = {
arr: [],
};
Object.values(item).map((child: any, index: number) => {
obj.arr.push("name" + index);
obj[name${index}] = child;
});
data.push(obj);
});
tableData.value = data;
menuData.value = Object.keys(ws[0]);
} catch (err) {
console.log(err);
}
};
fileReader.readAsBinaryString(files[0]);
};