首先是html部分
<el-upload :show-file-list="false" :on-change="upload" action="/">
<div v-if="form.file_path">{{ form.file_path }}</div>
<div v-else
>{{ '选择excel' }}<el-icon><plus /></el-icon
></div>
</el-upload>
然后是js部分
const upload = async (file: any) => {
// const path = await fileUpload(file)
// if (false) {
// ElMessage.error()
// return
// }
// form.file_path = path
// console.warn(form.file_path)
// var XLSX = require('xlsx')
const files = file.raw
const fileReader = new FileReader()
fileReader.onload = (e: any) => {
try {
const Workbook = XLSX.read(e.target.result, { type: 'binary' }) // 通过XLSX读取出来得到了一个 workdata 对象,下面详细介绍 workdata 对象中有些什么
const outdata = XLSX.utils.sheet_to_json(Workbook.Sheets[Workbook.SheetNames[0]])
console.log(outdata)
} catch (e) {
console.warn('error', e)
return false
}
}
fileReader.readAsBinaryString(files)
}