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

建设网站的功能及目的是什么意思wordpress集成插件下载

建设网站的功能及目的是什么意思,wordpress集成插件下载,wordpress 自动链接,中国建设工程网官方网站情况#xff1a; 需要通过Excel表#xff0c;将数据导入到数据库#xff0c;但是后台人员出差了#xff0c;我又只会PHP#xff0c;没用过node#xff0c;所以只能前端导入Excel文件#xff0c;然后循环调用后台的单条添加接口了。 库#xff1a; Excel.js#xff08…情况 需要通过Excel表将数据导入到数据库但是后台人员出差了我又只会PHP没用过node所以只能前端导入Excel文件然后循环调用后台的单条添加接口了。 库 Excel.js版本4.3.0 CDN地址 script srchttps://cdn.bootcdn.net/ajax/libs/exceljs/4.3.0/exceljs.min.js/scriptExcel.js 中文文档https://gitee.com/alan_scut/exceljs 下面是动态Excel表单 下面是file文件Excel文件获取到的对象 下面是代码中输出的需要插入的数据 代码 使用方法 importExcal() // 全局函数执行完成后执行组件的钩子函数、组件事件、自定义事件// 导入Excel表 async function importExcal() {// 文件内容 (这里是从input file里面获取到的内容)var file input_file;// 提交后端数据的整体数组var data_arr [];// 行程的最大列数包含前面不变的var stay_col_num 0;if (file) {// 判断文件类型let filetype file.name.split(.)[file.name.split(.).length - 1]let filetypes .xlsx,.xlsif (filetypes.indexOf(filetype) -1) {this.$message({message: 请上传 .xlsx 或 .xls 文件。,type: warning})return;}// 读取文件文件const reader new FileReader();// file.raw是具体的文件内容需要看一下你获取到的是file.raw还是file[0]即可 将文件转为 ArrayBuffer 格式console.log(这里是获取到的file文件内容, file)// 这里要用 readAsArrayBuffer 转成buffer因为下面读取要用到 buffer 才可以reader.readAsArrayBuffer(file.raw);reader.onload function (event) {try {const result event.target.result;var workbook new ExcelJS.Workbook();// 读取 buffer 内容workbook.xlsx.load(result).then(async function () {// 迭代所有sheet 如果只有一个可以通过名称获取 var worksheet workbook.getWorksheet(My Sheet);workbook.eachSheet(async function (worksheet, sheetId) {// 清空数据数组data_arr [];// 获取 形成安排 的列数(从第8列开始的), 总不会超过100天所以写个100// 在这里获取 形成列的长度是因为这里是表头不会像内容一样出现空白单元格造成无法获取到最终列的情况for (let j 8; j 100; j) {// 当列到 行程安排 且j1 不是 行程安排的时候就是行程安排的列宽if (worksheet.getCell(${getLetter(j)}2).value 行程安排 worksheet.getCell(${getLetter(j 1)}2).value ! 行程安排) {stay_col_num j;// 如果两个都有值的话就跳出循环break;}}// 迭代工作表中具有值的所有行worksheet.eachRow(function (row, rowNumber) {// 数据是从第四行开始if (rowNumber 4) {// data_arr.push(row.values)// 每行的数据let row_data row.values;// 传给后端的对象let data_obj {guest: ,name: ,sex: ,company: ,job: ,phone: ,stay: []}// 循环每行的数据row_data.map(function (item, index, arr) {// 如果是前7列则是固定列的值直接复制即可否则的话则是 动态的行程安排if (index 7) {switch (index) {case 2:// 嘉宾类别data_obj.guest item ? item : ;break;case 3:// 姓名data_obj.name item ? item : ;break;case 4:// 性别data_obj.sex item ? item : ;break;case 5:// 单位data_obj.company item ? item : ;break;case 6:// 职务data_obj.job item ? item : ;break;case 7:// 手机号data_obj.phone item ? item : ;break;}} else {// 行程安排从第八列开始到形成的最后一列结束if (index 8 index stay_col_num) {if (worksheet.getCell(${getLetter(index)}${rowNumber}).value 是) data_obj.stay.push(worksheet.getCell(${getLetter(index)}3).value);}}})// 将插入后台的数据添加进数组data_arr.push(data_obj);}});console.log(全部需要插入数据库的数据的数组, data_arr)// 这里使用了 Promise 解决在for循环内使异步接口进行同步提交的问题文章后面有详细说明for (let i 0; i data_arr.length; i) {let result_data await createUser(data_arr[i]);if (!result_data.result) {// 如果出错就跳出循环this.$message({message: 第 ${i 1} 行数据 ${data_arr[i].name}(${data_arr[i].phone})由于 ${result_data.msg} 导入失败,type: error})// 跳出循环break;}}});});} catch (err) {this.$message({message: 读取文件错误,type: error})console.log(err, err);}};} else {this.$message({message: 请选择文件,type: error})} }// 添加用户信息接口 async function createUser(data) {return await new Promise(function (resolve, reject) {// 处理异步逻辑时候调用resolve和reject函数axios({method: POST,url: ${base_url}/api/add,headers: {// 没有可以不要token// authorization: bearer ${token}},// 数据data: data}).then(res {let resp res.data;if (resp.code 1) {if (resp.data.code 200) {resolve({result: true});}} else {resolve({result: false,msg: resp.msg});}}).catch(req {reject({result: false,msg: });});}); }// 获取第N个字母 function getLetter(num) {return String.fromCharCode(64 num); }代码中用到的方法总结 新建工作簿 var workbook new ExcelJS.Workbook(); 读取 buffer 内容 workbook.xlsx.load(data).then(function() { // 其他代码 }); 迭代所有sheet workbook.eachSheet(function(worksheet, sheetId) { // 其他代码 }); 按名称获取表格 var worksheet workbook.getWorksheet(‘My Sheet’); 按ID获取表格 var worksheet workbook.getWorksheet(1); 迭代工作表中具有值的所有行 worksheet.eachRow(function(row, rowNumber) { console.log(‘Row’ rowNumber ’ ’ JSON.stringify(row.values)); }); 获取单元格A2 var collectcell worksheet.getCell(‘A2’); for循环内使异步接口变成同步提交 我文章的地址 遇见的一些问题 1. Excel.JS 支持的数据读取方式不同获取的数据类型不同。例如filestreambuffer 另外说一下 有兴趣的朋友也可以试试 SheetJS 感觉好像功能更多一些下次我再需要用到excel的时候也会尝试一下的。 SheetJS中文文档https://github.com/rockboom/SheetJS-docs-zh-CN
http://www.zqtcl.cn/news/221116/

相关文章:

  • 河南网站备案地址静安青岛网站建设
  • 烟台网站建设推荐企汇互联见效付款查看网站被百度收录
  • 做标签网站360街景地图怎么看
  • 深圳网站建设领先天津建设企业网站
  • 网站建设犭金手指C排名15温州 建网站的公司
  • 邢台建设银行官方网站公众号开发者密码是什么意思
  • 网站录入信息 前台查询功能怎么做营销网站主题有哪些内容
  • 网站SEO的评价触屏音乐网站源码
  • 网站开发u盘128够吗网站建设是固定资产嘛
  • 网站域名备案信息wordpress搜索文章内容
  • 出口退税在哪个网站做怎么在一起做网站上拿货
  • 网站友链查询传到网站根目录
  • 网站服务器端口设置北京专业网络直播制作
  • 可以免费做演播的听书网站南京企业自助建站
  • 软件下载类型网站怎么做长沙官网优化技术
  • 药品网站订单源码外贸网站建设服务器
  • 深圳网站制作07551免费开发网站
  • 如何直接用jsp做网站不写servletwordpress模板 单栏
  • 长沙网站建设哪个公司好设计公司网站 唐山
  • 原创小说手机网站制作需要多少钱郴州seo外包
  • 深圳市大鹏建设局网站网站关键词没排名怎么办
  • 水果商城网站制作多少钱c#如何做公司网站
  • 国内做进口的电商网站网站建设的经验做法
  • 蚂蚁搬家公司官方网站免费网站软件制作
  • 搭建网站要用到的工具外链代发免费
  • 肥城网站建设流程oem中国代加工网
  • 到底建手机网站还是电脑网站网站视频怎么做
  • 小区网站建设前端手机网站
  • 做一个网站价格WordPress好看的404
  • 查看注册过的网站在线网站软件免费下载