我正在尝试读取phpexcel中的合并单元格,我的问题是单元格合并在A:B:C:D:E:F(不能与他们想要的东西争论)
$i= 0;
foreach ($worksheet->getRowIterator() as $row) {
if ($i > 10) break ;
$i ++;
$cellIterator = $row->getCellIterator();
foreach ($cellIterator as $cell) {
if($cell->getColumn()== 'A:B:C:D:E:F'){
$specification=$cell->getCalculatedValue();
var_dump($specification);die();
// some other code
始终转储null。
我已经尝试$cell->getColumn()== 'A'
,因为单元格从A开始,但也转储为null。
我将不胜感激。
答案 0 :(得分:7)
我并不完全明白您在此尝试做什么,因为getColumn()
只会返回单个列地址,例如A
或B
像'A:B:C:D:E:F'
使用
迭代现有单元格可能是明智的$cellIterator->setIterateOnlyExistingCells(true);
但是有一些功能可以帮助你使用合并的单元格:
$cell->isInMergeRange()
将返回布尔值true / false,指示该单元格是否是合并范围的一部分
和
$cell->isMergeRangeValueCell()
可用于测试合并范围内的单元格是否是该范围的左上角(主要)单元格,并将返回布尔值true / false,指示它是否包含该范围的实际数据值/类型等...请注意,如果单元格不是任何合并范围的一部分,它将返回false