zoukankan      html  css  js  c++  java
  • CI框架导入 excel

    整合PHP  Excel和PHPexcelReader到

    librarys下面
     
     
    两个excel整合成一个excel
     
    <?php
    
    class Excel extends Controller {
    
        public function __construct() {
            parent::Controller();
             //初始化读取excel类
             @$this->load->library("reader");
             $reader = @$this->reader;
             $reader->setOutputEncoding('UTF-8');
        }
        /// 将1的内容合并到2的内容当中从而生成3
        public function getExcelContent(){
            header("content-type:text/html;charset=utf-8"); 
            
            $this -> load -> library('Excel/PHPExcel.php');
    
            $this->load->library('Excel/PHPExcel/Reader/PHPExcel_Reader_Excel5.php'); 
            $objReader=new PHPExcel_Reader_Excel5();
                
            $objPHPExcel = new PHPExcel();
    
            $data2=array();
               
            $excel2="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_2.xls";
            $this->reader->read($excel2);
            $numRows1 = $this->reader->sheets [0] [numRows];
        	$numCols1 = $this->reader->sheets [0] [numCols];
            $project1 = $this->reader->sheets [0] [cells];
            
            
            if ($numRows1 > 0 && $numCols1 > 0) {
                for($i=2;$i<=$numRows1;$i++){
                    $data2[$i]['id']=$project1[$i][1];
                    $data2[$i]['company']=$project1[$i][2];
                    $data2[$i]['name']=$project1[$i][3];
                    $data2[$i]['sex']=$project1[$i][4];
                    $data2[$i]['birthday']=$project1[$i][5];
                    $data2[$i]['cankao']=$project1[$i][6];
                    
                }
            }
    
            $excel1="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_1.xls";
            
            $objPHPExcel = $objReader->load($excel1);
                //获取sheet表数目
                $sheetCount = $objPHPExcel->getSheetCount();
    
                //默认选中sheet0表
                $sheetSelected = 0;
    
                $objPHPExcel->setActiveSheetIndex($sheetSelected);
    
                //获取表格行数
                $rowCount = $objPHPExcel->getActiveSheet()->getHighestRow();
    
                //获取表格列数
                $columnCount = $objPHPExcel->getActiveSheet()->getHighestColumn();
    
           
                    
                $dataArr = array();
    
    
                /** 循环读取每个单元格的数据 */
                //行数循环
                for ($row = 2; $row <= $rowCount; $row++){
                    //列数循环 , 列数是以A列开始
                    for ($column = 'E'; $column < $columnCount; $column++) {
                        //第一出现的位置不区分大小写 ,
                        if(stripos($objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue(),",")>0){
                         
                            $data_arr=explode(",",$objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue());
                           
                            foreach($data_arr as $val){
                                
                                $dataArr[$row]["E"].=$val.";";
                            }
                            $dataArr[$row]["E"]=rtrim($dataArr[$row]["E"],";");
                            //第一出现的位置不区分大小写 、
                         }elseif(stripos($objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue(),"、")){
                            $data_arr1=explode("、",$objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue());
                           
                            foreach($data_arr1 as $val){
                                
                                $dataArr[$row]["E"].=$val.";";
                            }
                            $dataArr[$row]["E"]=rtrim($dataArr[$row]["E"],";");
                         }else{
                            $dataArr[$row]["E"] = $objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue();
                         }
                         $dataArr[$row]["F"] = $objPHPExcel->getActiveSheet()->getCell("F".$row)->getValue();
                    }
                }
    
               
    
                $objPHPExcel -> getDefaultStyle() -> getFont() -> setSize(10);
                $objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    
    				$objPHPExcel -> setActiveSheetIndex(0)
    			-> setCellValue('A1', '干部id(不可改)')
                -> setCellValue('B1', '单位(不可改)')
                -> setCellValue('C1', '姓名(不可改)')
                -> setCellValue('D1', '性别(不可改)')
                -> setCellValue('E1', '生日(不可改)')
    			-> setCellValue('F1', '职务参考(任免审批表填写职务)')
    			-> setCellValue('G1', '职务统计(可选值:党)')
                -> setCellValue('H1', '排序(填写自然数字)');
                
               
                
                $num1=count($data2);
                
                foreach($data2 as $i=>$val){
                    $objPHPExcel -> getActiveSheet()-> setCellValue('A'.$i, $data2[$i]['id']);
    				$objPHPExcel -> getActiveSheet()-> setCellValue('B'.$i, $data2[$i]['company']);
    				$objPHPExcel -> getActiveSheet()-> setCellValue('C'.$i, $data2[$i]['name']);
    				$objPHPExcel -> getActiveSheet()-> setCellValue('D'.$i, $data2[$i]['sex']);
    				$objPHPExcel -> getActiveSheet()-> setCellValue('E'.$i, $data2[$i]['birthday']);
    			    $objPHPExcel -> getActiveSheet()-> setCellValue('F'.$i, $data2[$i]['cankao']);
    				$objPHPExcel -> getActiveSheet()-> setCellValue('G'.$i, ";".$dataArr[$i]['E'].";");
                    $objPHPExcel -> getActiveSheet()-> setCellValue('H'.$i, $dataArr[$i]['F']);
                }
                   
                
    			
                
    
                header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
                header('Content-Disposition: attachment;filename=11.xls');
                header('Cache-Control: max-age=0');
    
                $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
               
             
                
                $objWriter->save('php://output');
                // $objWriter -> save("/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry.xls");
          
            
            
        }
    
      public  function getExcel1(){
             //excel1内容
             $excel1="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_1.xls";
             $this->reader->read($excel1);
             $numRows =$this->reader->sheets [0] [numRows];
             $numCols = $this->reader->sheets [0] [numCols];
             $project = $this->reader->sheets [0] [cells];
             $msg = '';$msg2='';$count=0;$count2=0;$r=0;
             
             if ($numRows > 0 && $numCols > 0) {
                 for($i=2;$i<=$numRows;$i++){
                     
                     if(stripos($project[$i][5],",")>0){
                         
                        $data_arr=explode(",",$project[$i][5]);
                        foreach($data_arr as $val){
                            $data[$i]['position'].=$val.";";
                        }
                        $data[$i]['position']=rtrim($data[$i]['position'],";");
                     }else{
                        $data[$i]['position']=$project[$i][5];
                     }
                     $data[$i]['sorts']=$project[$i][6];
                 }
             }
    
             return $data;
        }
    
    
    
    
     public   function getExcel2(){
            //excel2内容
            $excel2="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_2.xls";
            $this->reader->read($excel2);
            $numRows1 = $this->reader->sheets [0] [numRows];
        	$numCols1 = $this->reader->sheets [0] [numCols];
            $project1 = $this->reader->sheets [0] [cells];
            $msg = '';$msg2='';$count=0;$count2=0;$r=0;
            
            if ($numRows1 > 0 && $numCols1 > 0) {
                for($i=2;$i<=$numRows1;$i++){
                    $data2[$i]['id']=$project1[$i][1];
                    $data2[$i]['company']=$project1[$i][2];
                    $data2[$i]['name']=$project1[$i][3];
                    $data2[$i]['sex']=$project1[$i][4];
                    $data2[$i]['birthday']=$project1[$i][5];
                    $data2[$i]['cankao']=$project1[$i][6];
                    
                }
            }
            return $data2;
        }
        
    }
    ?>
    

      

  • 相关阅读:
    BZOJ 3205 [Apio2013]机器人 ——斯坦纳树
    BZOJ 3782 上学路线 ——动态规划 Lucas定理 中国剩余定理
    HDU 1423 Greatest Common Increasing Subsequence ——动态规划
    BZOJ 3309 DZY Loves Math ——莫比乌斯反演
    POJ 1038 Bugs Integrated, Inc. ——状压DP
    POJ 3693 Maximum repetition substring ——后缀数组
    POJ 2699 The Maximum Number of Strong Kings ——网络流
    POJ 2396 Budget ——有上下界的网络流
    BZOJ 4650 [Noi2016]优秀的拆分 ——后缀数组
    源码安装python
  • 原文地址:https://www.cnblogs.com/mengluo/p/9269105.html
Copyright © 2011-2022 走看看