irpas技术客

网页 中使用js-xlsx进行excel读取,转JSON,判断(vue) js-xlsx的简单使用_陈小柏呀

网络投稿 5762

安装 js-xlsx npm i js-xlsx 完成后引入

import * as XLSX from 'xlsx'; 也可以全局引入,不过我这里不需要

上代码

HTML部分

<template> ? <div style="padding: 20px"> ? ? <div> ? ? ? <input type="file" @change="readLocalFile" accept="*.xls" id="files"/> ? ? </div> ? ? <h1>合格的</h1> ? ? <div id="demo"></div> ? ? <h1>不合格的</h1> ? ? <div id="demo1"></div> ? </div> </template> 然后是JS部分

<script> import * as XLSX from 'xlsx'; export default { ? name: 'systemCallerCenter', ? data(){ ? ? return{ ? ? ? list:[] ? ? } ? }, ? mounted() { ? }, ? methods: { ? ? readLocalFile(file, callback) { ? ? ? ? var wb; ? ? ? ? var rABS = false; ? ? ? ? var xsl = file.target.files[0] ? ? ? ? var reader = new FileReader(); ? ? ? ? reader.readAsArrayBuffer(xsl, { type: 'binary' }); ? ? ? ? reader.onload = function(e) { ? ? ? ? ? console.log(e.target.result,1111111111111111) ? ? ? ? ? var data = e.target.result; ? ? ? ? ? if(rABS) { ? ? ? ? ? ? wb = XLSX.read(btoa(fixdata(data)), { ? ? ? ? ? ? ? type: 'base64' ? ? ? ? ? ? }); ? ? ? ? ? } else { ? ? ? ? ? ? wb = XLSX.read(data, { ? ? ? ? ? ? ? type: 'binary' ? ? ? ? ? ? }); ? ? ? ? ? } ? ? ? ? ? console.log(XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]),'测试表格数据--JOSON') ? ? ? ? } ? ? ? ? var arr = [] ? ? ? ? var arr1 = [] ? ? ? setTimeout(()=>{ ? ? ? ? this.list = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) ? ? ? ? if(this.list.length>0){ ? ? ? ? ? var reg_tel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/ ? ? ? ? ? this.list.forEach(item=>{ ? ? ? ? ? ? if(reg_tel.test(item['联系电话']) && item['联系电话'] !=''){ ? ? ? ? ? ? ? arr.push(item) ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? arr1.push(item) ? ? ? ? ? ? } ? ? ? ? ? }) ? ? ? ? } ? ? ? ? ? document.getElementById("demo").innerHTML= JSON.stringify(arr ); ? ? ? ? ? document.getElementById("demo1").innerHTML= JSON.stringify(arr1 ); ? ? ? ? },2000) ? ? }

? } } </script> 运行结果

?

其实也很简单,首先选择一个excel文件,应为是无法直接拿到文件地址的,所以就直接选择拿取二进制文件流,然后通过转换,利用js-xlsx,即可直接转为需要的东西,所以js-xlsx这个东西还是很好用的。过程中做了一些文件读取后格式的判断不必要但是暂时留着了QAQ。

我是小柏,一个前端菜鸟,希望对读者有帮助


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #网页 #转json #判断vue #jsxlsx的简单使用