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

  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." ";

  }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 "
";

  }

  //echo "

  ";

  echo "导入成功";

  }