zoukankan      html  css  js  c++  java
  • PHP 导入Excel数据 到数据库

        /**
         * 导入excel
         * @throws PHPExcel_Exception
         * @throws PHPExcel_Reader_Exception
         */
        public function impExcel($filename,$data){
            if (!empty($_FILES)) {
                $config = array(
                    'exts'=>array('xlsx','xls'),
                    'rootPath'=>"./",
                    'savePath'=> "Public/Uploads/$filename/",
                    'subName'    =>    array('date','Ymd'),
                );
                $upload = new ThinkUpload($config);
                if (!$info=$upload->upload()) {
                    $this->error($upload->getError());
                }
    
                vendor("PHPExcel.PHPExcel");
                $file_name = $info['excel']['savepath'].$info['excel']['savename'];
    
                //$objReader = PHPExcel_IOFactory::createReader('Excel5');
    
                $Excel_name = getcwd() . '/' .$file_name;
    
                //$aaa = is_readable($Excel_name);
    
               // $objPHPExcel = $objReader->load($Excel_name,$encode='utf-8');
                $extension = strtolower( pathinfo($Excel_name, PATHINFO_EXTENSION) );
    
                if ($extension =='xlsx') {
                    $objReader = new PHPExcel_Reader_Excel2007();
                    $objPHPExcel = $objReader ->load($Excel_name);
                } else if ($extension =='xls') {
                    $objReader = new PHPExcel_Reader_Excel5();
                    $objPHPExcel = $objReader ->load($Excel_name);
                } else if ($extension=='csv') {
                    $PHPReader = new PHPExcel_Reader_CSV();
    
                    //默认输入字符集
                    $PHPReader->setInputEncoding('GBK');
    
                    //默认的分隔符
                    $PHPReader->setDelimiter(',');
    
                    //载入文件
                    $objPHPExcel = $PHPReader->load($Excel_name);
                }
    
                $sheet = $objPHPExcel->getSheet(0);
                $highestRow = $sheet->getHighestRow(); // 取得总行数
                $highestColumn = $sheet->getHighestColumn(); // 取得总列数
    
                for($i=2;$i<=$highestRow;$i++)
                {
    
                    $data['name'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();
                    $data['tel'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
                    $data['zjh']    = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
                    $data['sheng'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
                    $data['shi'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();
                    $data['address']= $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();
                    $data['money']= $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();
                    $data['hk_time']= $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue();
                    $data['nanyi']= $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue();
                    $data['uid'] = $_SESSION['user']['id'];
                    $data['time'] = date("Y-m-d H:i:s");
                    M('release')->add($data);
                }
    
                $this->success('导入成功!');exit();
            }else
            {
                $this->error("请选择上传的文件");
            }
    
    
        }
    调用:
     if(IS_POST)
            {
                $data['reason'] = I("post.reason","","trim");
                $data['type'] = I("post.type","","trim");
               // $data['qixian'] = I("post.qixian","","trim");
               // $data['comm'] = I("post.comm","","trim");
                if(!empty($_FILES)){
                    $this->impExcel('batch_release',$data);
                }
            }


  • 相关阅读:
    FatMouse's Speed --hdu
    poj 1182--食物链 (并查集)
    HDU
    CodeForces
    LightOJ
    HDU2717:Catch That Cow(BFS 队列)
    HDU
    51Nod
    bash: ifconfig: command not found 解决办法--------仅供参考
    关于“ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中)
  • 原文地址:https://www.cnblogs.com/ningjiabing/p/10066091.html
Copyright © 2011-2022 走看看