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
 
 
 
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM