excel的导入导出

来源:互联网 发布:算法导论 数学基础 编辑:程序博客网 时间:2024/05/16 05:35

导入

 public function excel_put(){          //先做一个文件上传,保存文件          $path=$_FILES['file'];          $filePath = "uploads/".$path["name"];          move_uploaded_file($path["tmp_name"],$filePath);          //默认用excel2007读取excel,若格式不对,则用之前的版本进行读取          //表格字段名字          $data=array('B'=>'name','C'=>'pwd','D'=>'money1','E'=>'salt');          $tablename='user1';//表名字          $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 "导入成功";      }  

导出

 header("Content-type:application/vnd.ms-excel");      header("Content-Disposition:attachment;filename=123.xls");      $array=$this->db->get("shop_address")->result_array();      $str = "Id\tName\tPid\n";      foreach ($array as $val) {          $str .=  $val['id'] . "\t" .$val['name'] . "\t" . $val['pid'] . "\n";      }      echo $str; 
0 0
原创粉丝点击