我想知道,如何帮助解决这个问题。 让我们说,我有一个excel有这样的信息(它可能是更多的信息):
**Country** **Currency**
Germany EUR
USA USD
Russia RUB
我输入的表格是“USA”,我希望看到来自excel的结果USD。 在PHP中是否有某种功能,它允许在excel中搜索值?
或者至少,如果存在这样的函数,它返回哪个单元格(例如B2)存在这样的值?
答案 0 :(得分:11)
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数组函数搜索数组。
答案 1 :(得分:1)
由于存在许多不同的Excel格式(2003年,2010年的怪癖,ooxml等),您将不得不寻找第三方库来读取Excel文件。
查找一些示例in this question或in this question。
编辑:添加了一个更新的问题。