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; } }
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 . '条[原因:此用户已存在]'); }
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++; // } // } }