在openpyxl中的mergedcell,我原先以为在mergedcell中,就可以读到cell中的内容,但是其实不能的,只能通过以下的方法来读取其中的值。
from openpyxl import Workbook, load_workbook
from openpyxl.cell import MergedCell
from openpyxl.worksheet.cell_range import CellRange
for row in ws.iter_rows():
for cell in row:
if isinstance(cell, MergedCell):
tmp = get_merged_cell_value(cell, ws)
else:
tmp = cell.value
def get_merged_cell_value(cell, ws):
my_range = CellRange(min_col=cell.column, min_row=cell.row, max_col=cell.column, max_row=cell.row)
for range1 in ws.merged_cells.ranges: # openpyxl saved all merged cell into this list
if range1.issuperset(my_range):
return ws.cell(range1.min_row, range1.min_col).value
return ""