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

如何使用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.

  • 写回答

1条回答 默认 最新

  • 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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?