上传EXCEL文件并读取到数据库

      public function test(){
      	 if(isset($_FILES['Bl'])){
			  	import('ORG.Net.UploadFile');
				$upload = new UploadFile();// 实例化上传类
	        	$upload->maxSize  = 3292200 ;// 设置附件上传大小
	        	$upload->allowExts  = array('xlsx','xls');// 设置附件上传类型
	        	$upload->savePath =  './Public/uploads/';// 设置附件上传目录
	        	$upload->saveRule = $this->fileNameForBannerH5BookList();
	         	if($upload->upload()) {
           			$info= $upload-> getUploadFileInfo();//获取上传的文件信息
           			$savepathinfo=$info[0]['savepath'].$info[0]['savename'];//保存的完整路径位置


           			import('ORG.Util.PHPExcel');//加载PHPExcel包
           			// 获取扩展名
          			$extension=strtolower(pathinfo($info[0]['savename'],PATHINFO_EXTENSION));

          			// 通过扩展名决定使用的类
           			if($extension == 'xls'){  //判断后缀,实例化PHPEXcel类并选择对应版本
          				$objReader = PHPExcel_IOFactory::createReader('Excel5');
           			}else{
           				$objReader = PHPExcel_IOFactory::createReader('Excel2007');
           			}

           			// 通过该类加载该excel
           			$objPHPExcel = $objReader->load($savepathinfo,$encode='utf-8');//打开文件并设置编码,否则表格类有中文会乱码
           			
           			//获取sheet部分的信息(如有shee2,sheet3一并读取)
           			$sheet = $objPHPExcel->getSheet(0);

           			// 取得总行数,返回有数据的最后一行数值
                	$highestRow = $sheet->getHighestRow();

                	// 取得总列数,返回有数据的最后一列字母值+1
                	$highestColumn = $sheet->getHighestColumn(); 
                	
                	// 清空原有  flag=1
                	$Blist = D('booklist');
                	$Blist -> where('flag > 0') -> delete();
                	// dump($highestRow);exit;

                	// 每次处理一行 / 处理每一行
                	$blist = array();
                  	for($i=2;$i<=200;$i++) {
	                 	 $blist[$i]['bid']=$objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();
	                 	 $blist[$i]['bo']=$objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
	                 	 $blist[$i]['bg']=$objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
	                 	 $blist[$i]['bg']=str_replace(PHP_EOL,'<br>',$blist[$i]['book_guide']);
	                 	 $blist[$i]['flag']=$objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
                    }
	                foreach($blist as $v){
	                	$rst = $Blist -> add($v);
	                }
                    if($i > 200){
                     	$this->redirect('C/A','',0.01,'<script>alert("配置模块成功");</script>');
                    }else{
                    	$this->error('请重新上传');
                    }
                }else {
                   	 $this->error('请重新上传');
                }
          	}
      }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值