技术标签: json vue.js javascript
安装 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)linux下的批处理文件,基本就是shell脚本文件。1.一个最简单的脚本书写方法为:新建一个文件,名字为clean(自己定义的名字),在里面编写rm -fv *.o;ls -al;(可以写一些shell普通命令,命令用分号隔开) 2.执行方法(1)在控制台输入: sh clean(2)先给与脚本可执行权限: chmod 777 clean
蓝桥杯练习8问题描述如下:小明对数位中含有2,0,1,9的数字很感兴趣(不包括前导0),在1到40中这样的数包括1,2,9,10,至32,39,和40,共28个,他们的和是574。请问,在1到n中,所有这样的数的和是多少思路:这道题与上题的数的分解类似。思路:将int数值类型转换成String类型。用String类的indexOf()方法,判断该数字是否包含“2”,“0”,“1”,“9”这四个字符。代码展示如下:package 第十届蓝桥杯大赛决赛题;import java.util.Sca
在HTML页里面由于使用了form,常常需要禁用enter提交表单。因为内容页或者母版页自身有如果有type="submit"的button,当textbox聚焦时,按下enter都会触发表单的默认提交(不论是IE还是firefox),于是需要在onkeydown中监听用户的按键。实际测试,IE8中导致表单提交的不确定因素太多,点击表单的table中的td都会触发表单提交,而firefox则不会;
尊重原创,请勿转载! 作者:图林根の烤肠,如有纰漏欢迎指出。日期:2015年12月31日2020年6月注:因为年代是在久远,手头目前在忙于Unity和AR项目的事情,待时间赋予会抽空写一篇通过Python实现的内容,还请见谅~讲完了 上一篇,现在可以开始实际演练。具体代码都可以从我的GitHub上面的HRTF文件夹下下载。首先一句话概括3D音频实现的原理:找到对应空间的HRIR数值,然后卷积音频...
废话不多说,直接上脚本,我这里是以spring cloud项目做的示例。#!/bin/shexport EUREKA=family-eureka-1.0.0.jarexport GATEWAY=family-gateway-1.0.0.jarexport AUTH=family-auth-1.0.0.jarexport SYSTEM=family-system-1.0.0.jarexport FI...
为什么80%的码农都做不了架构师?>>> ...
知识储备:es6,设计模式。const observerSet = new Set();const proxy = target => new Proxy(target,{//观察者观察数据变化 set(target, p, value, receiver) { let result = Reflect.set(target, p, value, receiver); observerSet.forEach(fn=>{ fn();//set操作后执行观察
1、系统管理员system用户登录(sys或有管理员权限用户)2、查看被锁表select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object l...
年底了,12月的阿里国际站数据在上周也出来了,所以是时间表演真正的技术了,不对,是时间来对全年询盘进行分析整理及总结了,今天就和大家来一起看下,如何对阿里国际站全年询盘数据就行分析总结,以及这对我们后面的工作有什么用?
参考链接:https://zhuanlan.zhihu.com/p/125085425https://techclass.rohm.com.cn/knowledge/si/s-si/04-s-si/7129什么是芯片温度为保险起见,在此明确一下什么是芯片温度。芯片温度是指晶体管芯片本身的温度Tj(结温)。芯片温度Tj是周围(环境)温度Ta与芯片发热量相加后的温度,是考虑额定值和寿命时最重要的因素之一。芯片温度的计算由于近年来的晶体管芯片是由树脂密封的,当然就无法直接测得芯...
SpringBoot开发过程中由于其以配置文件的方式配置各种服务,信息源。本文介绍的为 .yml 的文件读取顺序。读取顺序:第一种是在java项目中resources建一个config文件夹,然后把配置文件放到这个文件夹下;第二种是直接把配置文件放到服务器与jar包的同级目录;第三种在classpath下建一个config文件夹,然后把配置文件放进去;第四种是在classpath下直接放配置文件。我们在SpringBoot项目中在resources下建一个 Config 文件夹.