需求如题。这里的关键点是对XLSX使用方式的理解与掌握,难点是数据本身的清洗、格式化过程。
html部分
<el-button size="mini" type="success" round @click="importFromxlsx()" title="导入人员"><i class="el-icon-upload2"></i>
</el-button>  
<a href="/static/看护人员基本信息表-模板(空).xlsx" target="_blank">下载模板</a>
<!-- 弹窗:批量上传人员 -->
<el-dialog title="上传人员表" :visible.sync="showDialogFile" width="30%">
<el-upload action="" :auto-upload="false" :on-change="uploadFile" :limit="1">
<el-button size="mini" type="success">上传文件</el-button>
</el-upload>
</el-dialog>
js部分
import FileSaver from "file-saver";
import XLSX from "xlsx";
export default {
name: "Member",
data: function() {
return {
showDialogFile: false,
}
},
methods: {
//打开上传文件弹窗
importFromxlsx: function() {
this.showDialogFile = true
},
//执行文件解析并保存数据
async uploadFile(file) {
this.$message.info("开始解析文件,请稍后……")
let dataBinary = await readFile(file.raw)
let workBook = XLSX.read(dataBinary, {
type: 'binary',
cellDates: true
})
let workSheet = workBook.Sheets[workBook.SheetNames[0]]
const sheet2JSONOpts =