手机版

基于年轻的美国人争取自由美国青年争取自由组织框架和上传插件,做的一个导入超过文件,查看并保存数据的功能

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

思路:

1.首先,页面前端,上传附件,提交给后台,并带一个随机性的参数(可以用时间戳);

2.后端接收附件,做一系列的逻辑处理,无误后,将对应的文件存储在上传的目录下;

3.然后前端,上传附件成功后,进行请求后端,读取数据,后端接口对应将附件数据读取出来,前端进行显示(ajax请求);

4.前端展示数据,用户对数据检测无误,点击保存(ajax请求后端保存代码的接口),当然也可以有选择性的选择某些数据记录进行保存,楼主这里做的是全部保存(后端处理接口,自动过滤重复数据);

5.拿到对应的所需有用数据即可,对应的超过表格,因为需要获取到人员排期数据,所以楼主是通过判断单元格的背景色来识别

代码如下:(关键代码)

前端对应html:

!-导入数据操作层-div id=' import ' class=' modal fade bs-modal-LG ' tabindex='-1 '角色=' dialog ' aria-labelledby=' myModalLabel ' aria-hidden=' true ' div class=' modal-dialog modal-LG ' div class=' modal-content ' div class=' modal-header BG-primary ' button type=' button ' class=' close ' data-misse=' modal ' aria-hidden=' true '/button H4 class=' modal-title '文件导入/H4/div class=' modal-body ' div style=' text-align : right;padd :5 px ' a href='/public/uploadFile/人员资源动态匹配表-模板xlsx“onclick=”JavaScript :“img alt=”人员资源动态匹配表-模板src=' http :/public/images/excel。jpg '/span style=' font-size :更大;字体粗细:200;'颜色:红色'人员资源动态匹配表-模板xlsx/span/a/div HR/form id=' ffiimport '方法='post' div title='Excel导入操作style=' padd : 5px ' data-options=' iconcl s 3360 ' icon-key ' ' input class=' measuri-validate box ' type=' hidden ' id=' AttachGUID ' name=' AttachGUID '/input id=' file _ upload ' name=' file _ upload ' type=' file ' multiple=' multiple ' a href=' JavaScript :class=' BTN BTN-primary ' id=' btnUpload ' onclick=' JavaScript : $(' # file _ upload ').uploadify('上传',' * ')上传/a a href=' JAVAScript :'class=' BTN BTN-默认' id=' btncanceluload ' onclick=' JavaScript : $(' # file _ upload ').uploadify('cancel ',' * ')取消/a div id=' file queue ' class=' file queue '/div br/HR style=' width :98% '/div id=' div _ files '/div br//div/form!-数据显示表格-table id=' GridPort ' class=' table table-分条表-边框表-悬停单元格填充=' 0 '单元格间距=' 0 '边框=' 0 '类=' display '宽度=' 100% ' id=' gridImport _ head ' tr th项目名称/th项目编号/th功能/th人员/th日期/th/tr/ad t正文id=' gridImport _ body '/t正文/table/div class=' modal-footer '按钮类型='button' class='btn btn-default '数据-消除='modal' id='close_window '关闭/button button type=' button ' class=' BTN BTN-primary ' onclick=' JavaScript : save import();'保存/按钮/div /div /div对应射流研究…代码:

脚本类型='text/javascript' //保存导入的数据函数save import(){ var guid=$(' # AttachGUID ').val();if(guid==' ' | | guid==' undefined '){ alert('请先上传超过文件!');返回false} $。Ajax({ URL : '/lazy/CheckExcelColumns?type=saveguid=' guid ',type: 'get ',dataType: 'json ',success :函数(数据){ alert(数据。味精);$('#close_window ').单击();console.log('报存数据成功!');},错误:函数(){ console。日志('出错了!');} });} $(function(){ //导入层的js $('#import_schedule ').bind('click ',function(){ $('#gridImport_body ').html(" ");$(“# import”).情态(“显示”);});//导入对应的函数$('#file_upload ').uploadify({ ' swf ' : '/public/uploadify/uploadify。' swf ',//FLash文件路径按钮文本' : '浏览', //按钮文本上传程序' : ' { URL(' lazy/uploadExcel ')} } ',//后台处理程序的路径queueID': '文件队列',//队列的ID 'queueSizeLimit': 1,//队列最多可上传文件数量,默认为999 'auto': false,//选择文件后是否自动上传,默认为true 'multi': false,//是否为多选,默认为true 'removeCompleted': true,//是否完成后移除序列,默认为true 'fileSizeLimit': '10MB ',//单个文件大小,0为无限制,可接受千字节、兆字节、千兆字节等单位的字符串值文件类型描述: 'Excel文件',//文件描述fileTypeExts ' : ' * .xlsx ',//上传的文件后缀过滤器onQueueComplete':函数(事件,数据){ //所有队列完成后事件//业务处理代码//提示用户超过格式是否正常,如果正常加载数据var guid=$('#AttachGUID ').val();$.Ajax({ URL : '/lazy/CheckExcelColumns?type=checkguid=' guid,type: 'get ',dataType: 'json ',成功:函数(数据){ if(数据。状态){//init grid();//重新刷新表格数据$.每个(data.rows,function (i,item){ var tr=' tr ';tr=' TD '项['名称']'/TD ';tr='td '项['标识符]'/TD ';tr='td '项[' subject ']'/TD;tr='td '项['用户']'/TD;tr=' TD ' item[' getx ime ']'/TD;tr='/tr ';$(' # GridPort _ body ').追加(tr);});} else { alert(数据。味精);} } });},' onUploadStart':函数(文件){ InitUpFile();//重置GUID(每次不同,用时间戳代替)$('#gridImport_body ').html(" ");//动态传参数var guid=$('#AttachGUID ').val();var salt=' test//md5加密辅助串var token=hex _ MD5(salt guid);//校验参数$('#file_upload ').uploadify('设置,' formData ',{ '文件夹' : '数据导入超过文件、“guid”: guid、“token”: token、});}、“onuploadererror”:函数(事件、queueId、fileObj、error obj){ alert(error obj。类型:)”错误obj。信息”;} });函数InitUpFile(){ var timestamp=Date。解析(新的Date());$('#AttachGUID ').val(时间戳);}/脚本后端代码:

//上传文件处理公共函数uploadexcelicon(){ $ TargetFolder='/public/uploadFile/';//相对于根$ salt=' test $ verifyToken=MD5($ test .$ _ POST[' guid ']);if(!空($ _ FILES)$ _ POST[' token ']==$ verifyToken){ $ TempFIle=$ _ FILES[' Filedata '][' tmp _ name '];$ TargetPath=$ _ SERVER[' DOCUMENT _ ROOT '].$ TargetFolder $ TargetFile=rtrim($ TargetPath,'/')./' .$ verifyToken . xlsx ';$文件类型=数组(“xlsx”);$ FileParts=路径信息($ _ FILES[' Filedata '][' name ']);if (in_array($fileParts['扩展名],$ fileTypes)){ move _ uploaded _ file($ tempFile,$ target file);回声"1";} else { echo '无效文件类型;} }else{ echo '无效参数;}死;}处理超过数据,就说两个关键点:取单元格的值和背景色

$ obj reader=\ phpexcel _ iofactory 3: creator reader(' excel 2007 ');$ objphxcel=$ objreader-load($目标文件);$ sheet=$ objphpexcel-get sheet();$ sheet rows=$ sheet-gethigheestdatarow();//你好$ sheet columns=phpexcel _ cell 3:列索引rom string($ sheet-gethigheestdatacolumn());//唉哟//哟哟哟哟哟哟$ value=$ objpexcel-get active sheet()-get cell($ columns[$ k]).$ j)-get value();//范龙哥,范龙哥$ fill color=$ objphxcel-get active sheet()-get style($ columns[$ k]).$ j)-get fill()-get start color()-geta GB();//范思哲?范思哲:

是朱庇荫:

excel(excel)-什么:

朱塞佩朱塞佩朱塞佩朱塞佩,-你好-你好-你好,吴亚玲吴亚玲吴亚玲!

版权声明:基于年轻的美国人争取自由美国青年争取自由组织框架和上传插件,做的一个导入超过文件,查看并保存数据的功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。