• 技术文章 >后端开发 >php教程

    CI框架(CodeIgniter)实现的导入、导出数据操作示例

    jacklovejacklove2018-06-22 16:03:18原创1029
    这篇文章主要介绍了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实现微信小程序人脸识别刷脸登录功能

    ThinkPHP框架实现的MySQL数据库备份功能示例

    PHP实现防止表单重复提交功能【基于token验证】

    以上就是CI框架(CodeIgniter)实现的导入、导出数据操作示例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:ThinkPHP框架实现的MySQL数据库备份功能示例 下一篇:PHP实现一维数组与二维数组去重功能示例
    PHP编程就业班

    相关文章推荐

    • 面试官:列举几种PHP拓展的实现手段及其性能比较?• 用PHP生成静态HTML速度快类库_php实例• 这算一个好消息吗?MySQL 5.6.6 已经内嵌 memcached 的支持,该怎么处理• 求PHP相干的编程书籍• 求推荐 wordpress 的二次开发文件,表示看了好几天仍是一头雾水

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网