Vue前端解析Excel数据方式
作者:不情不愿
这篇文章主要介绍了Vue前端解析Excel数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Vue前端解析Excel数据
想要在前端实现 Excel 表格数据的解析
需要安装 xlsx 包
cnpm install xlsx
在需要使用的地方引入
import * as XLSX from 'xlsx/xlsx.mjs'
使用 Element UI 提供的上传功能组件
对excel 表格数据进行解析
全部代码如下:
<template> <div id="app"> <h2>{{message}}</h2> <el-upload action accept = ".xlsx, .xls" :auto-upload="false" :show-file-list="false" :on-change="handle"> <el-button type="primary">打开excel</el-button> </el-upload> </div> </template> <script> import * as XLSX from 'xlsx/xlsx.mjs' export default { name: 'App', data(){ return { message:' XLSX 的使用' } }, methods:{ readFile(file){//文件读取 return new Promise(resolve => { let reader = new FileReader(); reader.readAsBinaryString(file);//以二进制的方式读取 reader.onload = ev =>{ resolve(ev.target.result); } }) }, async handle(ev){ let file = ev.raw; console.log(file) if(!file){ console.log("文件打开失败") return ; }else{ let data = await this.readFile(file); let workbook = XLSX.read(data,{ type: "binary"});//解析二进制格式数据 console.log('二进制数据的解析:') console.log(workbook) let worksheet = workbook.Sheets[workbook.SheetNames[0]];//获取第一个Sheet let result = XLSX.utils.sheet_to_json(worksheet);//json数据格式 console.log('最终解析的 json 格式数据:') console.log(result) } } } } </script> <style> </style>
原始表格数据:实验数据.xls
运行结果:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。