CI架構(CodeIgniter)實現的匯入、匯出資料操作樣本

來源:互聯網
上載者:User
這篇文章主要介紹了CI架構(CodeIgniter)實現的匯入、匯出資料操作,結合執行個體形式分析了CodeIgniter架構libraies中引用PHPExcel實現資料匯入匯出相關操作技巧,需要的朋友可以參考下

本文執行個體講述了CI架構(CodeIgniter)實現的匯入、匯出資料操作。分享給大家供大家參考,具體如下:

在libraies中引用PHPExcel這個類(phpexcel.php)

public function excel_put(){  //先做一個檔案上傳,儲存檔案  $path=$_FILES['file'];  $filePath = "uploads/".$path["name"];  move_uploaded_file($path["tmp_name"],$filePath);  //$data=array('B'=>'name','C'=>'pwd','D'=>'money1','E'=>'salt');  $data=array('B'=>'name','C'=>'pid');  $tablename='city2';//表名字  $this->excel_fileput($filePath,$data,$tablename);}

private function excel_fileput($filePath,$data,$tablename){  $this->load->library("phpexcel");//ci架構中引入excel類  $PHPExcel = new PHPExcel();  $PHPReader = new PHPExcel_Reader_Excel2007();  if(!$PHPReader->canRead($filePath)){    $PHPReader = new PHPExcel_Reader_Excel5();    if(!$PHPReader->canRead($filePath)){      echo 'no Excel';      return ;    }  }  // 載入excel檔案  $PHPExcel = $PHPReader->load($filePath);  // 讀取excel檔案中的第一個工作表  $currentSheet = $PHPExcel->getSheet(0);  // 取得最大的列號  $allColumn = $currentSheet->getHighestColumn();  // 取得一共有多少行  $allRow = $currentSheet->getHighestRow();  // 從第二行開始輸出,因為excel表中第一行為列名  for($currentRow = 2;$currentRow <= $allRow;$currentRow++){    /**從第A列開始輸出*/    //echo $allColumn;    for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){      $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();      //print_r($val);      //die;      if($currentColumn == 'A')      {        //echo $val."\t";      }else if($currentColumn <= $allColumn){        $data1[$currentColumn]=$val;      }    }    foreach($data as $key=>$val){      $data2[$val]=$data1[$key];    }    $this->db->insert($tablename,$data2);    //print_r($data2);    //echo "</br>";  }  //echo "\n";  echo "匯入成功";}

匯出資料:

public function excel_out(){  header("Content-type:text/html");  header("Content-Disposition:attachment;filename=123.xls");  $array=$this->db->get("city")->result_array();  $str="id\t"."name\t"."pid\n";  foreach($array as $val){    $str.=$val['id']."\t".$val['name']."\t".$val['pid']."\n";  }  echo $str;}

您可能感興趣的文章:

通過PHP實現小程式Face Service刷臉登入功能

ThinkPHP架構實現的MySQLDatabase Backup功能樣本

PHP實現防止表單重複提交功能【基於token驗證】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.