我正在尝试读取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
总是转储为空。
我试过了
$cell->getColumn()== 'A'
,因为该单元格从A开始,但也转储了null。我将不胜感激任何帮助。
最佳答案
我不完全了解您要在此处执行的操作,因为getColumn()
只会返回单个列地址(例如A
或B
),而不会返回任何类似'A:B:C:D:E:F'
的地址
明智的做法是仅使用
$cellIterator->setIterateOnlyExistingCells(true);
但是有一些功能可以帮助您合并单元格:
$cell->isInMergeRange()
将返回 bool 值true/false,指示单元格是否属于合并范围
和
$cell->isMergeRangeValueCell()
可用于测试合并范围内的某个单元格是否在该范围的左上角(主)单元格,并将返回 bool 值true/false,指示它是否保存该范围内的实际数据值/类型等。请注意,如果单元格不属于任何合并范围,则它将返回false