日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

thinkphp导入Excel去重

發布時間:2024/1/1 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 thinkphp导入Excel去重 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*導入Excel有兩種可能 1.導入的Excel本身就有重復項 2.導入的Excel數據和已有的數據庫信息有重復項 解決思路: 1.先不管是否有重復項,直接導入到一張臨時表,然后經過去重處理插入到一張新表(比較麻煩,數據處理過程多) 2.先獲取Excel的數據,然后循環讀取數據,在循環里把每條數據和數據庫里的數據進行對比,如果沒有就插入, 如果有就更新這條數據(導入過程中就處理數據,過程簡單) */ //導入Excel public 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"); } }

總結

以上是生活随笔為你收集整理的thinkphp导入Excel去重的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。