PHPExcel 按值搜索单元格

PHPExcel search cell by value

我想知道如何帮助解决此类问题。 比方说,我有一个 excel 里面有这样的信息(它可能有更多信息):

**Country**            **Currency**
Germany                 EUR    
USA                     USD    
Russia                  RUB

我正在输入表单 "USA",我想查看 excel 的结果美元。 PHP 中是否有某种函数允许在 excel 中搜索值?

或者至少,如果存在这样的函数,那么returns在哪个单元格(例如B2)中存在这样的值?

由于有许多不同的 Excel 格式(2003、2010 怪癖、ooxml 等),您将不得不寻找第三方库来读取 excel 文件。

找一些例子in this question or in this question

编辑:添加了一个更新的问题。

PHPExcel 没有内置的东西来进行搜索,但是基于迭代器自己编写一些东西非常简单....看看 28iterator.php/Examples

$foundInCells = array();
$searchValue = 'USA';
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
    $ws = $worksheet->getTitle();
    foreach ($worksheet->getRowIterator() as $row) {
        $cellIterator = $row->getCellIterator();
        $cellIterator->setIterateOnlyExistingCells(true);
        foreach ($cellIterator as $cell) {
            if ($cell->getValue() == $searchValue) {
                $foundInCells[] = $ws . '!' . $cell->getCoordinate();
            }
        }
    }
}
var_dump($foundInCells);

当然,如果您只想搜索特定工作表中的特定列,则可以大大简化这一过程,例如使用 rangeToArray() 然后使用标准 PHP 数组函数搜索数组。