准备工作
需要先安装 XLSX 插件
npm install xlsx --save
以下是代码:
<input
type="file"
ref="fileTemp"
accept=".xlsx,.xls"
@change="getImportFile"
/>
// 获取文件
getImportFile() {
if (this.$refs.fileTemp && !this.$refs.fileTemp.files[0]) return false;
const selectedFile = this.$refs.fileTemp.files[0];
this.readFile(selectedFile);
},
readFile(file) {
let reader = new FileReader();
reader.onload = function (e) {
let wb = XLSX.read(e.target.result, { type: "binary" }); // 读取文件
let wbSheetName = wb.SheetNames[0];
const wbSheet = wb.Sheets[wbSheetName];
// 解析文件 {defval: ''}=>防止单元格为空的时解析出来的结果缺少相应的key
let selectFileData = XLSX.utils.sheet_to_json(wbSheet, { defval: "" });
if (!selectFileData.length) {
console.log(`上传的文件数据为空!`);
return false;
} else {
console.log(selectFileData);
}
};
reader.readAsBinaryString(file);
},