当前位置: 首页 > Web前端 > JavaScript

Day7-100前端实现解析Excel等文件

时间:2023-03-27 02:14:22 JavaScript

前言一个需求突然来了,要求前端将上传文件中的数据解析出来并回显到页面。以前都是靠后台的帮助。查了资料,发现前端有插件可以实现。注释~1、可解析文件2、支持框架3、安装包npminstallxlsx4、相关代码1)HTML部分

{{upload_file||"import"}}
2)数据部分从"导入XLSXxlsx";//需要导入包数据(){return{upload_file:'',data:[],}},3)方法实现部分readExcel(e){//读取表单文件letthat=this;常量文件=e.target.files;如果(文件长度<=0){返回假;}elseif(!/\.(xls|xlsx)$/.test(files[0].name.toLowerCase())){this.$message({message:"上传格式不正确,请以xls格式上传或xlsx格式”,类型:“警告”});返回假;}else{//更新并获取文件名that.upload_file=files[0].name;}constfileReader=newFileReader();fileReader.onload=ev=>{try{constdata=ev.target.result;const工作簿=XLSX.read(数据,{类型:“二进制”});constwsname=workbook.SheetNames[0];//取第一张纸constws=XLSX.utils.sheet_to_json(workbook.Sheets[wsname]);//生成json表内容that.lists=[];console.log('ws',ws);//从解析出来的数据中提取对应的数据ws.forEach(item=>{that.data.push({value_id:0,value_show_name:item.show_name,value_name:item.name,value_color:item.color,is_deleted:'0'});});那.visibleUp=false;//向后端发送请求//this.submit_form();}catch(e){返回错误;}};fileReader.readAsBinaryString(文件[0]);}参考链接1、npmjs-xlsx介绍2、参考demo