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