开发者

PHPExcel. How to check if current cell is merged with another?

I use PHPExcel to import Excel files to my site. For example, there is two cells, A1 and A2, both merged. Is there a way to to find out is A开发者_如何学JAVA1 merged to another cell (A2 or other) or not?


$workbook = new PHPExcel;
$sheet = $workbook->getActiveSheet();
$sheet->mergeCells('A1:E1');

$cell = $sheet->getCell('A1');

// Check if cell is merged
foreach ($sheet->getMergeCells() as $cells) {
    if ($cell->isInRange($cells)) {
        echo 'Cell is merged!'
        break;
    }
}

I think there isn't better solution because of the way phpexcel stores information about merged cells.


The easiest way is to use the getMergeRange() method.

if ($cell->getMergeRange()) {
    // cell is merged
}

I suspect many people will want to know the value of the merged cell, in which case you can refer to the following code:

if (($range = $cell->getMergeRange()) && !$cell->isMergeRangeValueCell()) {
    $first_in_range_coordinates = strtok($range, ':');
    $value = $sheet->getCell($first_in_range_coordinates)->getValue();
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜