PHPExcel Как получить только 1 значение ячейки?

Я думаю, что getCell($X, $y) или getCellValue($X, $y) будет доступен для простого выбора определенного значения. Это может быть полезно, например, в виде данных перекрестной проверки перед более крупным процессом.

Как получить конкретное значение из say cell C3.

Я не хочу, чтобы массив значений сортировался.

Ответ 1

Раздел 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();

Ответ 2

Безусловно, самый простой - и он использует обычные координаты 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();

Ответ 3

Это ответ на основе источника, который можно улучшить или комментировать.

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 и может быть улучшено, но работает для моих нужд.