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 ответ:
Для получения информации из ячеек необходимо следующее:
$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();