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

问题描述 投票:0回答:2

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

enter image description here

通常要获取值为“ASUS”的单元格的坐标

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

我的问题是用户发送我的这个excel文件,有时行无序,例如行B3有时出现在不同的行中,如“B6”或“B7”或“B5”,我怎么能得到单元“华硕“通过手机名称获取”Modelo“

php phpexcel doc phpexcelreader
2个回答
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);

0
投票

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

看看this answer

© www.soinside.com 2019 - 2024. All rights reserved.