使用xlsxfile-saverexceljs实现Excel导入导出如有错误,安装npminstallxlsxnpminstallfile-savernpm安装exceljsimportimportXLSXfrom'xlsx';//需要指定版本^0.17.0。从“exceljs”导入ExcelJS;//Recommend^4.2.1importFileSaverfrom"file-saver";//Recommend^2.0.5Excelimportmethod/***@descriptionImportEXCELforreading*@keyValue{Name:"Name",Number:"Code"}*@returns{Promise}读取Excel中的数据*/exportfunctioninportExcel(keyValue){returnnewPromise((resolve,reject)=>{//获取上传的文件对象(dom)constnodeFile=document.createElement('input')nodeFile.setAttribute('accept','.xlsx');nodeFile.setAttribute('type','file');nodeFile.setAttribute("style",'visibility:hidden;position:absolute;top:0;');document.body.appendChild(nodeFile);nodeFile.click();nodeFile.onchange=function(elm){nodeFile.remove()//读取FileReader对象FileconstfileReader=newFileReader();//以二进制方式打开文件fileReader.readAsBinaryString(elm.target.files[0]);fileReader.onload=event=>{尝试{const{结果}=event.target;//读取二进制流以获取整个excel表对象constworkbook=XLSX.read(result,{type:'binary'});让数据=[];//存储获取到的数据//遍历每个工作表读取(这里默认只读取第一张)for(constsheetinworkbook.Sheets){if(workbook.Sheets.hasOwnProperty(sheet)){//使用sheet_to_json方法将excel数据转成json数据data=data.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));休息;//如果只取第一张,取消注释这一行}}//根据KeyValue将Chinese变量的key改为Englishconsole.log(data);让列表=[];for(letitemofdata){letobj={};for(letkeyinkeyValue){let{[key]:temp}=item;obj[keyValue[key]]=temp;}list.push(obj);}resolve(list)}catch(e){//这里可以抛出文件类型错误incorrect相关提示console.log('Incorrectfiletype');reject('不正确的文件类型')}};}});}Excel导出方法/***@descriptionexportEXCEL*@param{Array}根据WhatKey,Value生成表格,{name:"Name",number:"Code"}*@param{Array}tabledata[{name:"111",number:"222"}]*@param{String}工作表名称*/exportfunctionexportExcel(header,data,filename='untitled'){constworkbook=newExcelJS.Workbook();constworksheet=workbook.addWorksheet("sheet");letcol=1for(letkeyinheader){letvalues=[];值.push(键);for(letrow=0;row
