vue读取Excel文件内容

安装xlsx

npm install xlsx --save

如果版本不兼容,先卸载xlsx

npm uninstall xlsx

然后安装更低版本的

npm install xlsx@0.17.0 --save
npm install xlsx@0.16.0 --save

导入xlsx

import XLSX from 'xlsx';

上传文件

引用element-ui中的upload

<el-upload class="upload-demo" 
	action :limit="1"
	:http-request="getExcel"
	>
     <el-button size="small" type="primary">点击上传</el-button>
</el-upload>

解析Excel

//解析excel   
analysis(file) {
 return new Promise(function (resolve, reject) {
   const reader = new FileReader();
   reader.onload = function (e) {
     const data = e.target.result;
     let datajson = XLSX.read(data, {
       type: "binary"
     });
     const result = [];
     datajson.SheetNames.forEach(sheetName => {
       result.push({
         sheetName: sheetName,
         sheet: XLSX.utils.sheet_to_json(datajson.Sheets[sheetName])
       });
     });
     resolve(result);
   };
   reader.readAsBinaryString(file.file);
 });
},

导入文件

// 导入文件
getExcel(file) {
 const types = file.file.name.split(".")[1]; //获取文件后缀
 const fileType = ["xlsx","xls"].some(
   item => item === types
 );
 if (!fileType) {
   this.$message("格式错误!请重新选择");
   return;
 }
 this.analysis(file).then(tableJson => {
   if (tableJson && tableJson.length > 0) {
     //成功解析出数据
     let dataExcel = tableJson[0];
     console.log("数据",dataExcel);
     console.log(JSON.stringify(dataExcel.sheet));
   }
 });
},
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值