我正在尝试读取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()只会返回单个列地址(例如AB),而不会返回任何类似'A:B:C:D:E:F'的地址

明智的做法是仅使用

$cellIterator->setIterateOnlyExistingCells(true);

但是有一些功能可以帮助您合并单元格:
$cell->isInMergeRange()

将返回 bool 值true/false,指示单元格是否属于合并范围


$cell->isMergeRangeValueCell()

可用于测试合并范围内的某个单元格是否在该范围的左上角(主)单元格,并将返回 bool 值true/false,指示它是否保存该范围内的实际数据值/类型等。请注意,如果单元格不属于任何合并范围,则它将返回false

10-05 23:20
查看更多