dongxing9219
dongxing9219
2017-09-20 07:28
浏览 342
已采纳

如何使用PHPExcel从合并单元格中获取值?

Here, I'm reading an excel sheet which may or may not have merged cells. Well looping through the cells in the current sheet, if i come across a merged cell then i should be able to find its range and value.

These are the steps:-

1. Reading the cell A1 or B1 or B7 or A9.
2. Check whether its merged with any other cell.
3. If the cells are merged then get the range of the merge, for ex: A1 to A7 or A1 to D1
4. And finally after getting the range get the value.

图片转代码服务由CSDN问答提供 功能建议

在这里,我正在阅读一张excel表,可能有也可能没有合并的单元格。 好好循环当前工作表中的单元格,如果我遇到合并单元格,那么我应该能够找到它的范围和值。

这些是步骤: -

1.读取单元格A1或B1或B7或A9。
2.检查它是否与任何其他单元格合并。
3.如果合并单元格,则获取合并范围, 例如:A1到A7或A1到D1
4.最后在获得范围后得到值。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dqbhdsec59405
    dqbhdsec59405 2017-09-20 12:17
    已采纳

    For any given cell object, there are a number of helper methods available

    $cell->isInMergeRange()
    

    Will return a boolean, a true/false value indicating if a cell is part of a merge range

    $cell->getMergeRange()
    

    Will return the merge range that the cell is apart of (e.g. "A1:C3"), or a boolean false if it is not part of a merge range

    $cell->isMergeRangeValueCell()
    

    Will return a boolean true/false indicating if this cell is the master cell in the range (top left cell) in a merge range (that holds the actual data value)

    Additionally, the worksheet object has a method

    $worksheet->getMergeCells()
    

    which will return an array listing all the merge ranges within the worksheet

    Lastly, a call to the static method

    PHPExcel_Cell::splitRange($mergeRange);
    

    passing in a range value like 'A1:C3', will return an array with two elements; the first being the address of the top-left cell in the range (that holds the actual data value), the second being the bottom right cell address, the "end" of the range

    点赞 评论

相关推荐