> 백엔드 개발 > PHP 튜토리얼 > Excel 가져오기 및 내보내기

Excel 가져오기 및 내보내기

WBOY
풀어 주다: 2016-07-28 08:26:21
원래의
1145명이 탐색했습니다.

가져오기

    public function excel_put(){  
        //先做一个文件上传,保存文件  
        $path=$_FILES['file'];  
        $filePath = "uploads/".$path["name"];  
        move_uploaded_file($path["tmp_name"],$filePath);  
        //默认用excel2007读取excel,若格式不对,则用之前的版本进行读取  
        //表格字段名字  
        $data=array('B'=>'name','C'=>'pwd','D'=>'money1','E'=>'salt');  
        $tablename='user1';//表名字  
        $this->excel_fileput($filePath,$data,$tablename);      
    }  
    private function excel_fileput($filePath,$data,$tablename){  
        $this->load->library("phpexcel");//ci框架中引入excel类  
        $PHPExcel = new PHPExcel();  
        $PHPReader = new PHPExcel_Reader_Excel2007();  
        if(!$PHPReader->canRead($filePath)){  
            $PHPReader = new PHPExcel_Reader_Excel5();  
            if(!$PHPReader->canRead($filePath)){  
                echo 'no Excel';  
                return ;  
            }  
        }  
        // 加载excel文件  
        $PHPExcel = $PHPReader->load($filePath);  
      
        // 读取excel文件中的第一个工作表  
        $currentSheet = $PHPExcel->getSheet(0);  
        // 取得最大的列号  
        $allColumn = $currentSheet->getHighestColumn();  
        // 取得一共有多少行  
        $allRow = $currentSheet->getHighestRow();  
      
        // 从第二行开始输出,因为excel表中第一行为列名  
        for($currentRow = 2;$currentRow <= $allRow;$currentRow++){  
            /**从第A列开始输出*/  
            //echo $allColumn;  
              
            for($currentColumn= &#39;A&#39;;$currentColumn<= $allColumn; $currentColumn++){    
                $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();  
                //print_r($val);  
                //die;  
                  
                if($currentColumn == 'A')  
                {  
                    //echo $val."\t";  
                }else if($currentColumn <= $allColumn){  
                    $data1[$currentColumn]=$val;  
                }  
            }  
            foreach($data as $key=>$val){  
                $data2[$val]=$data1[$key];  
            }  
            $this->db->insert($tablename,$data2);  
            //print_r($data2);  
            //echo "</br>";         
        }  
        //echo "\n";  
        echo "导入成功";  
    }  
로그인 후 복사

내보내기

    header("Content-type:application/vnd.ms-excel");  
    header("Content-Disposition:attachment;filename=123.xls");  
      
    $array=$this->db->get("shop_address")->result_array();  
    $str = "Id\tName\tPid\n";  
    foreach ($array as $val) {  
        $str .=  $val['id'] . "\t" .$val['name'] . "\t" . $val['pid'] . "\n";  
    }  
    echo $str;    
로그인 후 복사

위 내용은 내용의 측면을 포함하여 Excel의 가져오기 및 내보내기를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿