PHPExcel IOFactory:: createReader возвращает массив свойств pricate, которые я не могу использовать. (PHPExcel)


У меня есть следующий код (используя PHPExcel):

        $inputFileType = 'Excel2007'; 
        $sheetname = 'Upload'; 
        $objReader = PHPExcel_IOFactory::createReader( $inputFileType );
        $objReader->setLoadSheetsOnly( $sheetname ); 
        $objPHPExcel = $objReader->load( $fileName );

            foreach( $objPHPExcel->_workSheetCollection as $columnMeta )
            {
                foreach( $columnMeta->_cellCollection->_cellCache as $columnHeader )
                {
                    echo $columnHeader->_value;
                }    
            }

Конечно, я не могу на самом деле использовать свойства или перебирать их, потому что они являются частными свойствами $objPHPExcel... Как мне на самом деле получить что-то из этого массива?

Фрагмент массива, возвращаемый из print_r:

[_workSheetCollection:PHPExcel:private] => Array
        (
            [0] => PHPExcel_Worksheet Object
                (
                    [_parent:PHPExcel_Worksheet:private] => PHPExcel Object
 *RECURSION*
                    [_cellCollection:PHPExcel_Worksheet:private] => PHPExcel_CachedObjectStorage_Memory Object
                        (
                            [_parent:protected] => PHPExcel_Worksheet Object
 *RECURSION*
                            [_currentObject:protected] => 
                            [_currentObjectID:protected] => AG1
                            [_currentCellIsDirty:protected] => 1
                            [_cellCache:protected] => Array
                                (
                                    [A1] => PHPExcel_Cell Object
1 2

1 ответ:

Для получения информации из ячеек необходимо следующее:

$objReader = PHPExcel_IOFactory::createReader( $inputFileType );
$objReader->setLoadSheetsOnly( $sheetname ); // Load specific sheet             
$objPHPExcel = $objReader->canRead( $fileName );
$objPHPExcel = $objReader->load( $fileName );

// Prepare loop to extract values from cells
$worksheet = $objPHPExcel->getActiveSheet();


$cell = $worksheet->getCell( "A1" );
$cell->getValue();