PHPはExcelをArrayにする

1650 ワード

function format_excel2array($filePath='',$sheet=0){

        require PC_PATH.'libs/classes/PHPExcel.php';
        require PC_PATH.'libs/classes/PHPExcel/IOFactory.php';
        require PC_PATH.'libs/classes/PHPExcel/Reader/Excel2007.php';
        require PC_PATH.'libs/classes/PHPExcel/Reader/Excel5.php';


        if(empty($filePath) or !file_exists($filePath)){die('file not exists');}
        $PHPReader = new PHPExcel_Reader_Excel2007();        //  reader  
        if(!$PHPReader->canRead($filePath)){
            $PHPReader = new PHPExcel_Reader_Excel5();
            if(!$PHPReader->canRead($filePath)){
                echo 'no Excel';
                return ;
            }
        }
        $PHPExcel = $PHPReader->load($filePath);        //  excel  
        $currentSheet = $PHPExcel->getSheet($sheet);        //**  excel         */
        $allColumn = $currentSheet->getHighestColumn();        //**       */
        $allRow = $currentSheet->getHighestRow();        //**        */
        $data = array();
        for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){        //            。    1  ,  A  
            for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
                $addr = $colIndex.$rowIndex;
                $cell = $currentSheet->getCell($addr)->getValue();
                if($cell instanceof PHPExcel_RichText){ //        
                    $cell = $cell->__toString();
                }
                $data[$rowIndex][$colIndex] = $cell;
            }
        }
        return $data;
    }