• 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);
                }
            }


  • 相关阅读:
    [转]VMware-Transport(VMDB) error -44:Message.The VMware Authorization Service is not running解决方案
    [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器
    [转]美国最大婚恋交友网站eHarmony的机器学习实践
    [转]Algolia的分布式搜索网络架构
    预测建模、监督机器学习和模式分类概览
    Java正则表达式
    Ajax入门
    JSON入门
    JSTL与EL表达式
    Servlet与JSP进阶
  • 原文地址:https://www.cnblogs.com/ningjiabing/p/10066091.html
Copyright © 2020-2023  润新知