实现的效果如下图

安装依赖

npm install xlsx --save

引入

import XLSX from 'xlsx'

Vue.prototype.XLSX = XLSX

结构

v-model="gmDrform.storageTime"

type="datetime"

placeholder="选择日期"

value-format="yyyy-MM-dd HH:mm:ss"

@change="gmDrTimeChange"

>

导入

取 消

确 定

data中的数据

gmDrform:{storageTime:""},//光猫导入

gmDr:false,

arrList:[],

methods中

gmDrClick(){ // 获取当前时间,并赋值给入库日期

this.gmDr=true

this.gmDrform.storageTime=this.nowTime()

},

gmDrTimeChange(val){//入库日期发生变化,保存到gmDrform.storageTime中

this.gmDrform.storageTime=val

},

gmDrClose(){//关闭模态框,清除数据

this.$refs.gmDrform.resetFields();

},

importExcel() {

this.dialogChangePwdVisible = true;

this.$refs.uploadExcel.click();

},

readExcel(e) {

const files = e.target.files;

if (files.length <= 0) {

//如果没有文件名

return false;

}

const fileReader = new FileReader();

fileReader.onload = ev => {

try {

const data = ev.target.result;

const workbook = XLSX.read(data, {

type: "binary"

});

const wsname = workbook.SheetNames[0]; //取第一张表

const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]); //获取到XLSX表格中的数据,并生成json格式的数据类型

// console.log(ws,666);

let arr = [];

ws.forEach((value, index, ws) => {

arr.push({

typeNo: ws[index]["光猫型号"] + "",

boxNo: ws[index]["光猫箱码"] + "",

snNos: ws[index]["光猫SN码"] + "",

storageTime:this.gmDrform.storageTime+"",

name:"光猫",

category:"光猫",

remarks:"",

});

})

for(let i in arr){

let item = arr[i]

for(let key in item){

// console.log(item[key]);

if(item[key] == "undefined"){

delete item[key]

}

}

}

this.arrList=arr//给arrList赋值,确定导入时传入

} catch (e) {

return false;

}

};

fileReader.readAsBinaryString(files[0]);

},

gmDrSure(){//确定导入

let headers={//axios发送请求时,需要配置请求头

headers:{ 'Accept': 'application/json','Content-Type': 'application/json' }

}

this.startLoading();

let url = this.config.httpHeadUrl + "/api/modem/admin/saveBatchModem";

this.$axios.post(url, JSON.stringify(this.arrList),headers ).then(res => {

this.$message.success("导入成功!");

this.gmDr = false;

this.handleCurrentChange(1);

this.$refs.uploadExcel.value = "";//把之前导入的清空

if(res.data.flag==0){

this.$message("导入表头不正确")

this.gmDr =true

}

},(error) => {

this.$refs.uploadExcel.value = "";//把之前导入的清空

})

},

vue 导入excel解析_VUE中导入excel文件相关推荐

  1. java如何导入和导出ex_SpringBoot中关于Excel的导入和导出

    前言 由于在最近的项目中使用Excel导入和导出较为频繁,以此篇博客作为记录,方便日后查阅.本文前台页面将使用layui,来演示对Excel文件导入和导出的效果.本文代码已上传至我的gitHub,欢迎 ...

  2. vue合并表格excel导出_Vue实现导出excel表格功能

    引言: 最近使用vue在做一个后台系统,技术栈 vue + iView ,在页面中生成表格后, iView可以实现表格的导出,不过只能导出csv格式的,并不适合项目需求. 如果想要导出Excel 在s ...

  3. think php excel,在thinkphp6中使用Excel

    第一步:安装,使用composer安装扩展.composer require phpoffice/phpexcel 第二步:封装<?php namespace ExcelService; use ...

  4. php自带excel,基于php中使用excel的简单介绍_PHP

    在工作中需要处理多语言的翻译问题,翻译都是写在excel表格里面.为了处理方便我就保留中文和英文两列. 这样需要将这些数据从excel中取出来,然乎保存在excel的数组中,通过使用循环数组将相应的数 ...

  5. excel匹配_python中实现excel的高级筛选

    一 Excel里的高级筛选功能,着实令人惊叹,VBA里实现起来也相对简单,就是手动操作的代码化,设置好三项参数,便可以随取随用,效果稳准快. 二 在python 中实现同样的目的,更为直白爽快,不信你 ...

  6. orcl导入dmp语句_oracle中导入dmp数据注意事项

    1.在oracle中导入dmp数据的时候,一般使用exp导出的是带有表结构的数据,这时候导入数据库,如果数据库中有这个表,就会报错,说已经存在这个表,无法创建,这时候imp导入语句中需要加入一句ign ...

  7. 计算机右键无法新建excel,右键新建中没有excel怎么删除_右键新建中没有excel怎么办...

    [www.gpsvo.com--电脑安全] 在电脑中,想要点击鼠标右键新建一个excel表格时,却没有这个程序,怎么办?下面随小编一起来看看吧. 右键新建中没有excel的解决方法1 同时按下wind ...

  8. linux mysql命令行导入_在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)...

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...

  9. vue上传录音_vue中添加mp3音频文件的方法

    有的时候我们需要在vue中添加音频文件,但是直接将音频文件放置了assets目录下的时候,会发现并不能正常播放,下面是两种常用的配置方法: 方法一.将音频文件放置在static目录中,然后进行调用,如 ...

最新文章

  1. Swift中一个类中的枚举(enum)类型的数据该如何实现序列化(NSCoder)
  2. 一段语音生成说话视频,连发际线都可以分好几种,网友:利好视频博主
  3. Ironic 裸金属管理服务的底层技术支撑
  4. 常见的几种最优化方法
  5. 源码编译安装Nginx
  6. java 从一个容器获取对象,如何从 Spring IoC 容器中获取对象?
  7. mvc框架java包怎么划分_java – 在MVC模式中将模型和动作划分为类...
  8. 问题十五:C++中抽象类,虚函数是什么鬼?怎么测试
  9. 卷积神经网络概念与原理
  10. android studio设置SVN忽略
  11. 软件测试工程师简历项目经验怎么写?
  12. mac安装appium环境 iPhone真机测试
  13. 【亲测有效】快速简单解决apple Ipad无法配对apple pencil问题
  14. 中国打造国产“谷歌地球”清晰度吓人
  15. 机器学习实战-预测数值型数据:回归
  16. Centos文件上传,并用Compose, Dockerfile部署容器
  17. xp系统电脑如何链接宽带连接服务器,WinXP设置开机自动宽带连接的方法
  18. java实现文件管理
  19. 数商云智慧医疗管理系统解决方案:医药电商系统实现智能化改造
  20. Linux基本命令及Linux文件类型

热门文章

  1. P3275 [SCOI2011]糖果
  2. 工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
  3. Object-C非正式协议与正式协议的区别
  4. C语言学习4(数据的输入与输出)
  5. 好产品改变世界——《人人都是产品经理》即将上市
  6. CVPR 2021 | CoCosNet v2解锁“高配版”图像翻译
  7. 备受期待!机器学习“蜥蜴书”最新版来了!豆瓣评分9.9!
  8. OpenPCDet:点云3D目标检测开源库
  9. 数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评
  10. 新突破!Swin-UNet:基于纯 Transformer 结构的医学图像分割网络