Поиск ячейки по строке в PHPExcel

Я хочу знать, можно ли получить ячейку по ее имени в документе xls, я имею в виду, что у меня есть эта информация в файле excel:

введите здесь описание изображения

Нормально получить координату ячейки со значением "ASUS"

$objPHPExcel->getActiveSheet()->getCell('B3')->getValue(); 

моя проблема в том, что пользователи отправляют мой этот файл Excel, и иногда строки находятся в беспорядке, например, строка B3 иногда появляется в другой строке, например «B6», «B7» или «B5», как я могу получить ячейку «ASUS " получение по имени ячейки "Modelo"


person Juan Castillo    schedule 04.09.2015    source источник


Ответы (2)


В PHPExcel нет ничего встроенного для поиска, но, используя следующий пример, он может хорошо решить вашу проблему.

$foundInCells = array();
$searchTerm = 'ASUS';

foreach ($objPHPExcel->getWorksheetIterator() as $CurrentWorksheet) {
 $ws = $CurrentWorksheet->getTitle();

 foreach ($CurrentWorksheet->getRowIterator() as $row) {

    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(true);

    foreach ($cellIterator as $cell) {

        if ($cell->getValue() == $searchTerm) {

            $foundInCells[] = $ws . '!' . $cell->getCoordinate();
            }
        }
    }
}
var_dump($foundInCells);
person Naseef Lugz    schedule 18.02.2019

Вам придется перебрать весь файл, чтобы найти его так же, как поиск значения в 2D-массиве.

Взгляните на этот ответ

person Diego Fu    schedule 04.09.2015