繁体   English   中英

PHPExcel按值搜索单元格

[英]PHPExcel search cell by value

我想知道,如何帮助解决这个问题。 让我们说,我有一个excel有这样的信息(它可能是更多的信息):

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

我输入“USA”输入表格,我希望看到excel的结果USD。 在PHP中是否有某种功能,它允许在excel中搜索值?

或者至少,如果存在这样的函数,它返回哪个单元格(例如B2)存在这样的值?

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

$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数组函数搜索数组。

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

在这个问题这个问题中找到一些例子。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM