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

网站开发网站建设制作费用外贸推广引流

网站开发网站建设制作费用,外贸推广引流,网页制作设计作品,html5网站制作分工需求:列表根据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.hkea.cn/news/731795/

相关文章:

  • 什么网站做简历模板宁德市医院
  • 用什么软件做公司网站游戏推广赚佣金的平台
  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例