千家信息网

基于ThinkPHP+uploadify+upload+PHPExcel如何实现无刷新导入数据

发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,小编给大家分享一下基于ThinkPHP+uploadify+upload+PHPExcel如何实现无刷新导入数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.引入必要文件及上传i
千家信息网最后更新 2024年09月28日基于ThinkPHP+uploadify+upload+PHPExcel如何实现无刷新导入数据

小编给大家分享一下基于ThinkPHP+uploadify+upload+PHPExcel如何实现无刷新导入数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1.引入必要文件及上传input

   

2.uploadify使用操作

3、ThinkPHP控制器上传操作:备注需要引入Upload.class.php空间

 function upload(){  $config = array(   'maxSize' => 3145728,   'rootPath' => './Uploads/',   'savePath' => '',   'saveName' => array('uniqid',''),   'exts'  => array('xls'),   'autoSub' => true,   'subName' => array('date','Ymd'),   );  $upload = new Upload($config);  // 上传文件   $info = $upload->upload();  if(!$info) {// 上传错误提示错误信息   $this->error($upload->getError());  }else{// 上传成功 获取上传文件信息   $file = $info['Filedata']['savepath'].$info['Filedata']['savename'];  }  //p($info);  $data = array(   'file'=>'./Uploads/'.$file,   );  echo json_encode($data); }

4.导入数据进去mysql

//导入数据处理 function daoruHandle(){  $file = I('file');  $excelData = excel_to_mysql($file);  foreach($excelData['data'] as $row){   $data = array(    'xuehao'=>$row['xuehao'],    'xingming'=>$row['xingming'],    'xingbie'=>($row['xingbie']=='男')?1:0,    'mima'=>md5($row['mima']),    );   M('student')->add($data);  }  echo 1; }

5.PHPExcel读取Excel文件返回数据函数

function excel_to_mysql($file){  //导入PHPExcel第三方类库  //vendor('PHPExcel.PHPExcel');  import('Classes.PHPExcel',COMMON_PATH,'.php');  //实例化PHPExcel类,用于接收Excel文件  $PHPExcel = new PHPExcel();  //读取Excel文件类实例化  $PHPReader = new PHPExcel_reader_Excel5();  //检测Excel版本是否可读  if(!$PHPReader->canRead($file)){   $PHPReader = new PHPExcel_Reader_Excel2007();   if(!$PHPReader->canRead($file)) return array('error'=>1);//未知版本的Excel  }  //读取Excel文件  $PHPExcel = $PHPReader->load($file);  //获得Excel中表的数量  $sheetCount = $PHPExcel->getSheetCount();  //获得第一张工作表  $sheet=$PHPExcel->getSheet(0);  //获得表中最大数据列名  $column = $sheet->getHighestColumn();  //获得表中最大数据行名  $row = $sheet->getHighestRow();  //循环获得表中数据  for($i=1;$i<=$row;$i++){   $data[] = array(    //通过工作表对象的getCell方法获得单元格 getValue方法获得该单元格数值    'xuehao'=>$sheet->getCell('A'.$i)->getValue(),    'xingming'=>$sheet->getCell('B'.$i)->getValue(),    'xingbie'=>$sheet->getCell('C'.$i)->getValue(),    'mima'=>$sheet->getCell('D'.$i)->getValue(),   );  }  //释放工作表对象  unset($sheet);  //释放读取Excel文件对象  unset($PHPReader);  //释放Excel文件对象  unset($PHPExcel);  //返回数据  return array('error'=>0,'data'=>$data); }

看完了这篇文章,相信你对"基于ThinkPHP+uploadify+upload+PHPExcel如何实现无刷新导入数据"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0