在PHPExcel中按字符串搜索单元格

时间:2015-09-04 16:27:21

标签: php phpexcel doc phpexcelreader

我想知道是否可以在xls文档中按名称获取单元格,我的意思是我在excel文件中有这个信息:

enter image description here

通常使用值" ASUS"来获取单元格的坐标。

timesSelected = timesSelected == 2 ? 0 : timesSelected + 1

我的问题是用户发送我的这个excel文件,有时行无序,例如行B3有时会出现在不同的行中,例如" B6"或" B7"或者" B5",我怎样才能得到细胞"华硕"按单元名称" Modelo"

2 个答案:

答案 0 :(得分:1)

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);

答案 1 :(得分:0)

您必须遍历整个文件才能找到它,就像搜索2D数组中的值一样。

查看this answer