当前位置: 首页 > news >正文

肥城网站建设推广百度平台商家客服

肥城网站建设推广,百度平台商家客服,wordpress有微信插件,深圳网站优化平台需求:列表根据xlsx文件导入后,和列表进行对比,之后实现编辑功能 1.下载xlsx 我下的是之前的版本,新版不知道兼不兼容,这个包900多k npm install xlsx0.14.5 2.在需要使用表格导入的页面引入 import XLSX from &quo…

需求:列表根据xlsx文件导入后,和列表进行对比,之后实现编辑功能

 1.下载xlsx

我下的是之前的版本,新版不知道兼不兼容,这个包900多k

npm install xlsx@0.14.5

2.在需要使用表格导入的页面引入

import XLSX from "xlsx";

3.写个导入的el-upload

 <el-uploadref="upload"action="/":on-change="onChangeFile":auto-upload="false":show-file-list="false"accept=".xls, .xlsx"class="dialog-upload"><el-button type="primary" icon="el-icon-folder-add">导入</el-button></el-upload>
        // 导入表格onChangeFile(file) {console.log(file);// 保存当前选择文件this.fileData = file;// 调用读取数据的方法this.readExcel();},// 读取数据readExcel() {const files = this.fileData;if (!files) {// 没有文件return false;} else if (!/\.(xls|xlsx)$/.test(files.name.toLowerCase())) {this.$message.error('请上传xls或者xlsx文件');return false;}const fileReader = new FileReader();fileReader.onload = e => {try {const data = e.target.result;const workbook = XLSX.read(data, {type: 'binary',cellDates: true,//设为true,将天数的时间戳转为时间格式});if (workbook.SheetNames.length >= 1) {this.$message.success('导入成功');}// 取第一张表const wsname = workbook.SheetNames[0];console.log(wsname,'e.target.result');// 生成json表格内容const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]);// this.$emit('getUploadData', ws);console.log(ws, '生成json表格内容');this.endPoint(ws);// 清空value值,不然页面为刷新时无法重复使用this.$refs.upload.value = '';} catch (e) {return false;}};fileReader.readAsBinaryString(files.raw);},

得到的json格式如下

表格数据如下 

 

 4.比对文件后数据回填

findIndex:如果有符合条件的会返回索引值

  endPoint(ws) {// 遍历从Excel导入的数据for (const data of ws) {const name = data['姓名'];const updUsername = data['修改姓名'];const updAddress = data['修改地址'];// 在另一个表格中查找对应的点名const matchedRowIndex = this.tableData.findIndex(row => row.name == name);console.log(matchedRowIndex,'对应数据信息');// 如果找到了匹配的行,则进行数据回填if (matchedRowIndex !== -1) {this.tableData[matchedRowIndex].updName = updUsername;this.tableData[matchedRowIndex].updAddress = updAddress;}// 将数组赋值给另一个变量以触发Vue响应式更新this.tableData = [...this.tableData];console.log(this.tableData, '点名筛选');}},

5.完整代码

<template><div class="content-box"><div class="container"><el-uploadref="upload"action="/":on-change="onChangeFile":auto-upload="false":show-file-list="false"accept=".xls, .xlsx"class="dialog-upload"><el-button type="primary" icon="el-icon-folder-add">导入</el-button></el-upload><el-table :data="tableData" style="width: 100%"><el-table-column prop="date" label="日期" width="180"> </el-table-column><el-table-column prop="name" label="姓名" width="180"> </el-table-column><el-table-column prop="address" label="地址"> </el-table-column><el-table-column label="修改姓名"><template slot-scope="scope"><el-inputsize="small"v-model="scope.row.updName"oninput="if(value==0)value=null"placeholder="修改日期"type="text"></el-input></template></el-table-column><el-table-column label="修改地址"><template slot-scope="scope"><el-inputsize="small"v-model="scope.row.updAddress"oninput="if(value==0)value=null"placeholder="修改姓名"type="text"></el-input></template></el-table-column></el-table><el-button @click="saveData">保存</el-button></div></div>
</template><script>
import XLSX from "xlsx";
export default {data() {return {tableData: [{date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄',updAddress:null,updName:null},{date: '2016-05-04',name: '王小二',address: '上海市普陀区金沙江路 1517 弄',updAddress:null,updName:null},{date: '2016-05-01',name: '王小三',address: '上海市普陀区金沙江路 1519 弄',updAddress:null,updName:null},{date: '2016-05-03',name: '王小四',address: '上海市普陀区金沙江路 1516 弄',updAddress:null,updName:null}],fileData:""};},mounted() {},methods: {// 导入表格onChangeFile(file) {console.log(file);// 保存当前选择文件this.fileData = file;// 调用读取数据的方法this.readExcel();},// 读取数据readExcel() {const files = this.fileData;if (!files) {// 没有文件return false;} else if (!/\.(xls|xlsx)$/.test(files.name.toLowerCase())) {this.$message.error('请上传xls或者xlsx文件');return false;}const fileReader = new FileReader();fileReader.onload = e => {try {const data = e.target.result;const workbook = XLSX.read(data, {type: 'binary',cellDates: true,//设为true,将天数的时间戳转为时间格式});if (workbook.SheetNames.length >= 1) {this.$message.success('导入成功');}// 取第一张表const wsname = workbook.SheetNames[0];console.log(wsname,'e.target.result');// 生成json表格内容const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname]);// this.$emit('getUploadData', ws);console.log(ws, '生成json表格内容');this.endPoint(ws);// 清空value值,不然页面为刷新时无法重复使用this.$refs.upload.value = '';} catch (e) {return false;}};fileReader.readAsBinaryString(files.raw);},endPoint(ws) {// 遍历从Excel导入的数据for (const data of ws) {const name = data['姓名'];const updUsername = data['修改姓名'];const updAddress = data['修改地址'];// 在另一个表格中查找对应的点名const matchedRowIndex = this.tableData.findIndex(row => row.name == name);console.log(matchedRowIndex,'对应数据信息');// 如果找到了匹配的行,则进行数据回填if (matchedRowIndex !== -1) {this.tableData[matchedRowIndex].updName = updUsername;this.tableData[matchedRowIndex].updAddress = updAddress;}// 将数组赋值给另一个变量以触发Vue响应式更新this.tableData = [...this.tableData];console.log(this.tableData, '点名筛选');}},saveData(){// 保存的话这边只用判断下修改姓名或者修改地址是否有值之后再把修改后的数据进行提交到后台就可以了}}
};
</script><style lang="scss" scoped></style>

文章到此结束,希望对你有所帮助~~

http://www.hrbkazy.com/news/25311.html

相关文章:

  • 二手交易网站建设的功能定位windows优化大师的特点
  • 互联网网站模板广告推广营销网站
  • 毕业设计做 什么网站好新冠疫情最新情况
  • 学做淘宝客网站百度搜索关键词推广
  • 常州制作网站信息百度账户托管
  • 做国际网站装修怎么打广告吸引客户
  • 12306网站做的好垃圾互动营销成功案例
  • 做网站建设销售工资百度云网页版入口
  • 视频网站开发项目微博关键词排名优化
  • 跨境电子商务网站建设免费域名服务器
  • 如何建立一个网站详细步骤seo关键词优化
  • 小学生信息科学做网站百度推广开户费
  • 做美女网站会百度人工智能
  • 上海网站开发有限公司属于网络营销特点的是
  • 做网站vpn多大内存郑州网络推广方案
  • 网站建设大德通众包南宁百度seo建议
  • 找晚上做的工作去哪个网站高端网站设计公司
  • 求职网站网页设计网站推广途径和推广要点有哪些?
  • 模板网的图片侵权关键词优化策略
  • 怎么做自助购物网站怎么宣传自己的店铺
  • 即墨网站优化免费seo推广公司
  • 网站平台内容建设提纲网络建站平台
  • h5个网站的区别百度关键词排名查询工具
  • 做试试彩网站人员广州seo招聘网
  • 红动中国设计网站官网现在有哪些网址
  • 网站建设动画教程郑州关键词排名公司电话
  • 网站制作 代码编辑企业百度推广怎么收费
  • 网站建设课程报告论文重庆网站优化排名推广
  • 门户网站做等级保护测评设计个人网站
  • 电子商务网站建设运营百度网盘搜索引擎入口在哪里