久久久国产精品亚洲人小说-伊人久久精品无码二区麻豆-在线视频日韩精品第二页-国产成人AV乱码在线观看-在线免费看影视网站-亚洲国产成人精品一二区-久久精品午夜福利

010-63307995
在線客服
電話聯(lián)系
微信咨詢
建站技術(shù)
成立11周年,感恩回饋新老客戶鉅惠活動進行中……
文章資訊ARTICLE
公司新聞
建站指南
行業(yè)新聞
營銷分享
網(wǎng)站建設(shè)資訊
最新簽約

thinkphp導(dǎo)入Excel去重

來源:本站 最后更新:2023-02-13 14:17:07 作者:佚名 瀏覽:1192次

北京網(wǎng)站建設(shè)、北京網(wǎng)站建設(shè)公司、北京網(wǎng)站制作公司、北京網(wǎng)站制作、北京做網(wǎng)站、北京做網(wǎng)站公司、高端網(wǎng)站建設(shè)

thinkphp導(dǎo)入Excel去重

/*導(dǎo)入Excel有兩種可能
  1.導(dǎo)入的Excel本身就有重復(fù)項
  2.導(dǎo)入的Excel數(shù)據(jù)和已有的數(shù)據(jù)庫信息有重復(fù)項
  解決思路:
  1.先不管是否有重復(fù)項,直接導(dǎo)入到一張臨時表,然后經(jīng)過去重處理插入到一張新表(比較麻煩,數(shù)據(jù)處理過程多)
  2.先獲取Excel的數(shù)據(jù),然后循環(huán)讀取數(shù)據(jù),在循環(huán)里把每條數(shù)據(jù)和數(shù)據(jù)庫里的數(shù)據(jù)進行對比,如果沒有就插入,
    如果有就更新這條數(shù)據(jù)(導(dǎo)入過程中就處理數(shù)據(jù),過程簡單)
*/

//導(dǎo)入Excel
public function importExecl()
{

   import('ORG.Net.UploadFile');
   $upload=new UploadFile();// 實例化上傳類
   $upload->allowExts=array('xls','xlsx');// 設(shè)置附件上傳類型
   $upload->savePath='./Uploads/';// 設(shè)置附件上傳目錄
   $upload->saveRule=date('Ymdhis');//設(shè)置附件上傳名稱
   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的每條數(shù)據(jù)
      $result = $line_list->where ("line_number='{$data['line_number']}'")->field('id,line_number')->find();
      if (empty($result['line_number'])) {
         $rs = $line_list->add ($data);//如果線路編號為空就添加這條數(shù)據(jù)
      }else{
         $rs=$line_list->where("id='{$result['id']}'")->save($data);//如果已有這條數(shù)據(jù)就更新這條數(shù)據(jù)
      }

   }
   if($rs){
      unlink($filetmpname);//這里是刪除上傳后的文件
      $this->success("上傳成功","__URL__/index");
   }else{
      $this->error("上傳失敗","__URL__/index");
   }
}

注:尊重原創(chuàng)。部分文章和圖片來于網(wǎng)絡(luò),如未署名,系檢索無法確定原作者,版權(quán)歸原作者。原作者可隨時聯(lián)系我們予以署名更正或做刪除處理。
快速搜索
熱門標(biāo)簽
推薦閱讀
友情鏈接/ Links