Example #1
0
 public function getExcelObject($targetfile, $dsize)
 {
     // $objReader=IOFactory::createReader('Excel2007');
     $objReader = IOFactory::createReaderForFile($targetfile);
     //读取整个execl文件生成excel的object
     $objPHPExcel = $objReader->load($targetfile);
     //获取总的sheet数
     $size = $objPHPExcel->getSheetCount();
     // 获取第一行的数据
     if ($dsize == 1) {
         $sheet = $objPHPExcel->getSheet(0);
         // 	// 获取excel对象的全部数据
         $importdata = $objPHPExcel->getActiveSheet()->toArray();
         return $importdata;
     }
 }
Example #2
0
 public function addAlls()
 {
     //上传对应的Excel文件
     //文件上传
     //基本配置
     $config['upload_path'] = './uploads/';
     $config['allowed_types'] = 'xls|xlsx|xl';
     $config['max_size'] = '20000';
     $config['file_name'] = time() . mt_rand(1000, 9999);
     //载入上传类
     $this->load->library('upload', $config);
     //执行上传
     $status = $this->upload->do_upload('Excel');
     $wrong = $this->upload->display_errors();
     if ($wrong) {
         error($wrong);
     }
     //返回信息
     $info = $this->upload->data();
     // p($info);
     //再进行解析对应的Excel文件
     //找到对应的文件
     $targetfile = './uploads/' . $info['file_name'];
     //生成对应的格式
     //需要注意的是,这里的excel文件要对应好不同的格式
     // $objReader=IOFactory::createReader('Excel2007');
     $objReader = IOFactory::createReaderForFile($targetfile);
     //读取整个execl文件生成excel的object
     $objPHPExcel = $objReader->load($targetfile);
     //获取总的sheet数
     $size = $objPHPExcel->getSheetCount();
     //全部数据保存在的数组
     $alldata = array();
     for ($i = 0; $i < $size; $i++) {
         //读取第一行sheet
         $sheet = $objPHPExcel->getSheet($i);
         //获取总行数
         $hightRow = $sheet->getHighestRow();
         // 取得总列数
         $hightColum = $sheet->getHighestColumn();
         //全部的excel对象数组
         // p($objPHPExcel->getActiveSheet()->toArray());
         // p($hightColum);
         // p($hightRow);
         // echo "<hr>";
         // 获取excel对象的全部数据
         $importdata = $objPHPExcel->getActiveSheet()->toArray();
         $z = 0;
         // 存放字段值数组
         $firstname = array();
         foreach ($importdata as $key => $value) {
             if ($z == 0) {
                 $firstname = $this->toNameforArray($value);
                 $inportsize = $this->IstoMyExcelField($firstname);
                 // 需要满足最起码的8字段值
                 if ($inportsize != 8) {
                     success('AddStudents/index', '导入失败,你导入数据不符合规范...');
                     break;
                 }
             } else {
                 $newinfoarr = $this->newarraydata($firstname, $value);
                 //生成新的数组
                 array_push($alldata, $newinfoarr);
             }
             $z++;
         }
     }
     //批量导入问题
     // p($alldata);die();
     // 1.校验用户是否存在
     $mynewUsers = $this->IsHaveUser($alldata);
     // p($mynewUsers);die();
     $sumsize = count($alldata);
     $mynewUserssize = count($mynewUsers);
     $num = $sumsize - $mynewUserssize;
     // 2.导入过滤的数据
     if ($mynewUserssize) {
         $this->addstumodel->addAllFromOneExcel($mynewUsers);
     }
     success('AddStudents/index', '总共导入数据' . $sumsize . '条,成功导入' . $mynewUserssize . '条,失败' . $num . '条[原因:此用户已存在]');
 }
Example #3
0
 public function getExcelObject($targetfile, $dsize)
 {
     // $objReader=IOFactory::createReader('Excel2007');
     $objReader = IOFactory::createReaderForFile($targetfile);
     //读取整个execl文件生成excel的object
     $objPHPExcel = $objReader->load($targetfile);
     //获取总的sheet数
     $size = $objPHPExcel->getSheetCount();
     // 获取第一行的数据
     if ($dsize == 1) {
         $sheet = $objPHPExcel->getSheet(0);
         // 	// 获取excel对象的全部数据
         $importdata = $objPHPExcel->getActiveSheet()->toArray();
         return $importdata;
     }
     // if ($dsize=="") {
     // 	$dsize=$size;
     // }
     // //全部数据保存在的数组
     // $alldata=array();
     // for($i=0;$i<$dsize;$i++)
     // {
     // 	//读取第一行sheet
     // 	$sheet=$objPHPExcel->getSheet($i);
     // 	//获取总行数
     // 	$hightRow=$sheet->getHighestRow();
     // 	// 取得总列数
     // 	$hightColum=$sheet->getHighestColumn();
     // 	//全部的excel对象数组
     // 	// p($objPHPExcel->getActiveSheet()->toArray());
     // 	// p($hightColum);
     // 	// p($hightRow);
     // 	// echo "<hr>";
     // 	// 获取excel对象的全部数据
     // 	$importdata=$objPHPExcel->getActiveSheet()->toArray();
     // 	$z=0;
     // 	// 存放字段值数组
     // 	$firstname=array();
     // 	foreach ($importdata as $key => $value) {
     // 		if ($z==0) {
     // 			$firstname=$this->toNameforArray($value);
     // 		}else{
     // 			$newinfoarr=$this->newarraydata($firstname,$value);
     // 			//生成新的数组
     // 			array_push($alldata,$newinfoarr);
     // 		}
     // 		$z++;
     // 	}
     // }
 }