Я бы подумал, что getCell($X, $y)
или getCellValue($X, $y)
будет доступен для простого выбора определенного значения. Это может быть полезно в качестве примера данных перекрестной проверки перед более крупным процессом.
Как вы получаете определенное значение из ячейки C3 .
Я не хочу, чтобы массив значений сортировался.
Раздел 4.5.2 документации разработчика
Извлечение ячейки по координатам
Чтобы получить значение ячейки, ячейку следует сначала извлечь из листа с использованием метода getCell. Значение ячейки можно прочитать снова, используя следующую строку кода:
$objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
Раздел 4.5.4 документации разработчика
Извлечение ячейки по столбцу и строке
Чтобы получить значение ячейки, ячейку следует сначала извлечь из листа с помощью метода getCellByColumnAndRow. Значение ячейки можно прочитать снова, используя следующую строку кода:
// Get cell B8 $objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getValue();
Если вам нужно рассчитанное значение ячейки, используйте следующий код. Это объясняется далее в 4.4.35
// Get cell B8 $objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getCalculatedValue();
Безусловно, самый простой – и он использует обычные Excel-координаты:
// Assuming $sheet is a PHPExcel_Worksheet $value = $sheet->getCell( 'A1' )->getValue();
Вы можете разделить координаты в функции, если хотите:
function getCell( PHPExcel_Worksheet $sheet, /* string */ $x = 'A', /* int */ $y = 1 ) { return $sheet->getCell( $x . $y ); } // eg: getCell( $sheet, 'B', 2 )->getValue();
Это ответ на основе источника, который можно улучшить или прокомментировать.
function toNumber($dest) { if ($dest) return ord(strtolower($dest)) - 96; else return 0; } function myFunction($s,$x,$y){ $x = toNumber($x); return $s->getCellByColumnAndRow($x, $y)->getFormattedValue(); } $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $objPHPExcel->setActiveSheetIndex(0); $sheetData = $objPHPExcel->getActiveSheet(); $cellData = myFunction($sheetData,'B','2'); var_dump($cellData);
Это не работает за буквой Z и может быть улучшено, но работает для моих нужд.