我想知道如何帮助解决此类问题。 比方说,我有一个包含此类信息的 excel(它可能包含更多信息):
**Country** **Currency**
Germany EUR
USA USD
Russia RUB
我正在输入“美国”表单,我想从 excel 中查看结果美元。 PHP 中是否有某种函数允许在 excel 中搜索值?
或者至少,如果存在这样的函数,它返回在哪个单元格(例如 B2)中存在这样的值?
最佳答案
PHPExcel 没有内置任何东西来进行搜索,但是基于迭代器自己编写一些东西非常简单....看看 /中的
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 数组函数搜索数组。
关于PHPExcel 按值搜索单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28045016/