• openpyxl对合并单元格处理


    1. 逻辑:

    合并单元格的控制是通过MergedCellRange这个类来控制的,调用的语句是这个:

    for merged_range in sheet.merged_cells.ranges: 
    sheet.merged_cells.ranges这个变量是MergedCellRange的集合,merged_range是MergedCellRange实例。是所有的合并单元格对象;所以上边这个语句就是对所有合并单元格类实例进行遍历;
    if cell.coordinate in merged_range:
    上面这句可以判断当前cell是否属于其中一个合并单元格,注意:如果单纯想看合并单元格都有哪些cell不可以用下面这句:
    if isinstance(cell, MergedCell)
    原因是合并区域的左上角cell(也就是唯一能用cell.value读出值的那个cell)它的实例类型并不是MergedCell,其余读不出值的cell类型才是MergedCell;
    MergedCellRange.cells变量是当前合并单元格所有单元格的坐标tuple
     
    获取合并单元格的值:
    merged_range.min_row是合并单元格的最小行
    merged_range.min_col是合并单元格的最小列
    merged_range.max_row是合并单元格的最大行
    merged_range.max_col是合并单元格的最大列
    当前合并单元格的值等于左上角单元格的值:
    Value= sheet.cell(row=merged_range.min_row,column=merged_range.min_col).value
     
     
     
     
  • 相关阅读:
    闭包
    关于this
    插件开发(对象级)
    IFC
    flex.css
    js移动端滑动事件
    Android 手机下输入框获取焦点时, 输入法挡住输入框的 bug
    vue 组件化spreadjs预览excel
    feign 熔断工厂 fallbackFactory的简单实现
    bat脚本批量启动程序
  • 原文地址:https://www.cnblogs.com/mghhzAnne/p/15217177.html
Copyright © 2020-2023  润新知