uploadCondition(file){
const reader = new FileReader();
let flag = true;
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];
// 将工作表转换为 JSON 对象数组
let jsonData = XLSX.utils.sheet_to_json(worksheet, {header: 1,defval:null});
// 获取合并单元格的信息
const merges = worksheet['!merges'];
if(jsonData[0][0]!='评测题目'&&jsonData[0][1]!='题目选项' && this.templateType===1){
this.msg("请上传正确模板",0);
jsonData = [];
flag = false;
}
if(jsonData[0][0]!='评测结果'&&jsonData[0][1]!='结果说明' && this.templateType===2){
this.msg("请上传正确模板",0);
jsonData = [];
flag = false;
}
// 判断合并单元格是否为空
if(this.templateType === 1){
for(let i=0;i<merges.length;i++){
let rT = merges[i].s.r;
let sT = merges[i].e.r
if(jsonData[rT][0]===null){
this.msg(`单元格第${sT}行为空`,0);
jsonData = [];
flag = false;
break;
}
};
}
if(flag){
jsonData.shift();
this.ExcelArr.push({
fileName:file.name,
fileContent:jsonData
});
}
}
reader.readAsArrayBuffer(file);
return flag;
},