thinkphp导入Excel去重
来源:互联网 发布:算法导论思考题答案 编辑:程序博客网 时间:2024/04/28 01:31
/*导入Excel有两种可能
1.导入的Excel本身就有重复项
2.导入的Excel数据和已有的数据库信息有重复项
解决思路:
1.先不管是否有重复项,直接导入到一张临时表,然后经过去重处理插入到一张新表(比较麻烦,数据处理过程多)
2.先获取Excel的数据,然后循环读取数据,在循环里把每条数据和数据库里的数据进行对比,如果没有就插入,
如果有就更新这条数据(导入过程中就处理数据,过程简单)
*/
//导入Excelpublic function importExecl(){ import('ORG.Net.UploadFile'); $upload=new UploadFile();// 实例化上传类 $upload->allowExts=array('xls','xlsx');// 设置附件上传类型 $upload->savePath='./Uploads/';// 设置附件上传目录 $upload->saveRule=date('Ymdhis');//设置附件上传名称 if(!$upload->upload()){// 上传错误提示错误信息 $this->error($upload->getErrorMsg()); }else{//上传成功 获取上传文件信息 $info=$upload->getUploadFileInfo(); } $filetmpname='./Uploads/'.$info[0]['savename'];//获取上传的Excel的文件名 import('ORG.Util.PHPExcel'); $objPHPExcel = PHPExcel_IOFactory::load($filetmpname); $sheetCount = $objPHPExcel->getSheetCount(); $excelarr=array(); $excelarr= $objPHPExcel->getSheet(0)->toArray(); $line_list=M("line_list"); for($i=1;$i<=count($excelarr);$i++) { $data['type'] = $excelarr[$i][0]; $data['account_name'] = $excelarr[$i][1]; $data['clerk'] = $excelarr[$i][2]; $data['checkin_time'] = $excelarr[$i][3]; $data['client_name'] = $excelarr[$i][4]; $data['project'] = $excelarr[$i][5]; $data['capacity'] = $excelarr[$i][6]; $data['line_number'] = $excelarr[$i][7]; $data['monthly_amount'] = $excelarr[$i][8]; $data['open_time'] = $excelarr[$i][9]; $data['billing_time'] = $excelarr[$i][10]; $data['down_time'] = $excelarr[$i][11]; $data['invoice'] = $excelarr[$i][12]; $data['status'] = $excelarr[$i][13]; $data['remarks'] = $excelarr[$i][14];//上面的$date是读取Excel的每条数据
$result = $line_list->where ("line_number='{$data['line_number']}'")->field('id,line_number')->find(); if (empty($result['line_number'])) { $rs = $line_list->add ($data);//如果线路编号为空就添加这条数据 }else{ $rs=$line_list->where("id='{$result['id']}'")->save($data);//如果已有这条数据就更新这条数据 } } if($rs){ unlink($filetmpname);//这里是删除上传后的文件 $this->success("上传成功","__URL__/index"); }else{ $this->error("上传失败","__URL__/index"); }}
阅读全文
0 0
- thinkphp导入Excel去重
- Excel批量导入如何做数据去重
- Thinkphp + PHPExcel 导入excel
- thinkPHP + PHPExcel 导入 excel
- thinkphp导入excel文件
- EXCEL去重办法
- excel去重
- excel 去重
- excel导入去重复
- Thinkphp导入导出excel表
- ThinkPHP Excel导入导出示例
- thinkphp之Excel的导入
- THINKPHP的excel导入导出
- ThinkPhp excel 导入导出 demo
- ThinkPhp导入excel和导出excel
- ThinkPHP去重 distinct和group by
- wecenter二次开发系列(一)——使用excel插件批量导入去重的bug
- thinkphp 结合phpexcel实现excel导入
- socket基础知识及js中的Web Sockets
- 转变观念,移动互联网时代下,数据分析师该如何与时俱进?
- Hadoop 编译、安装过程
- JavaWeb开发环境配置
- 加密芯片——3DES算法特点与应用注意事项
- thinkphp导入Excel去重
- hibernate之单向一对多关系
- 为什么说传统分布式事务不再适用于微服务架构?
- 配置Groovy开发运行环境
- HDU# 1722 分蛋糕 /c++
- Android动画之translate(位移动画)上下移动
- 关于亲子阅读的体会
- Java基础之反射及动态代理,反射实现工厂模式
- 三款软件更新监控软体之比较