在这里,我正在阅读一份excel表,可能有也可能没有合并的单元格。好好循环当前工作表中的单元格,如果我遇到合并单元格,那么我应该能够找到它的范围和值。
以下是步骤: -
1.读取单元格A1或B1或B7或A9
2.检查它是否与任何其他单元合并
3.如果合并单元格,则获取合并范围,例如:A1到A7或A1到D1
最后得到范围后得到了值。
答案 0 :(得分:3)
对于任何给定的单元格对象,有许多辅助方法可用
$cell->isInMergeRange()
将返回一个布尔值,一个true / false值,指示一个单元格是否是合并范围的一部分
$cell->getMergeRange()
将返回单元格所在的合并范围(例如" A1:C3"),如果它不是合并范围的一部分,则返回布尔值
$cell->isMergeRangeValueCell()
将返回一个布尔值true / false,指示此单元格是否是合并范围(保存实际数据值)范围(左上角单元格)中的主单元格
此外,工作表对象有一个方法
$worksheet->getMergeCells()
将返回一个列出工作表中所有合并范围的数组
最后,调用静态方法
PHPExcel_Cell::splitRange($mergeRange);
传入一个范围值,例如' A1:C3',将返回一个包含两个元素的数组;第一个是范围中左上角单元格的地址(保存实际数据值),第二个是右下角单元格地址," end"范围