2020-11-01

uploadFilesChange(file:any) {
var reg=new RegExp(/^((?!xlsx).*).xlsx/);
//字符串
var str=file.file.name
//调用方法验证字符串是否匹配
var flag=reg.test(str);
var flag_two=reg_two.test(str);
console.log(flag,flag_two);//true
if(flag || flag_two){
console.log('可以上传了哟!')
// 通过FileReader对象读取文件
const fileReader = new FileReader();
fileReader.onload = event => {
try {
const { result } = event.target;
// 以二进制流方式读取得到整份excel表格对象
const workbook = XLSX.read(result, { type: 'binary' });
// 存储获取到的数据
let data = {};
// 遍历每张工作表进行读取(这里默认只读取第一张表)
for (const sheet in workbook.Sheets) {
let tempData = [];
// esline-disable-next-line
if (workbook.Sheets.hasOwnProperty(sheet)) {
// 利用 sheet_to_json 方法将 excel 转成 json 数据
data[sheet] = tempData.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
}
}
//上传成功啦,data为上传后的数据
console.log(data);
// 最终获取到并且格式化后的 json 数据
message.success('上传成功!')
} catch (e) {
// 这里可以抛出文件类型错误不正确的相关提示
message.error('文件类型不正确!');
}
}
// 以二进制方式打开文件
fileReader.readAsBinaryString(file.file);
}else{
notification.open({
message: '❌',
description:
'文件格式不正确!',
});
}

}

你可能感兴趣的:(2020-11-01)