5

我正在尝试在 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。

我将不胜感激任何帮助。

4

1 回答 1

7

我不明白你在这里想要做什么,因为getColumn()只会返回一个单列地址,比如AorB而永远不会像'A:B:C:D:E:F'

使用仅迭代现有单元格可能是明智的

$cellIterator->setIterateOnlyExistingCells(true);

但是有几个功能可以帮助您处理合并的单元格:

$cell->isInMergeRange()

将返回布尔值 true/false,指示单元格是否是合并范围的一部分

$cell->isMergeRangeValueCell()

可用于测试合并范围内的单元格是否是该范围的左上角(主)单元格,并将返回一个布尔值 true/false,指示它是否包含该范围的实际数据值/类型等...请注意,如果单元格不属于任何合并范围,它将返回 false

于 2015-07-14T11:24:11.100 回答