我设法使用此处提供的链接找出答案:https://groups.google.com/g/openpyxl-users/c/R9QQ8yfowfc
下面的代码将轮廓边框应用于 Openpyxl 中的动态单元格范围:
def add_outline_border(sheet, start_row, start_col, end_row, end_col):
borderTop = Border(top = Side(style = 'thick'))
borderBottom = Border(bottom = Side(style = 'thick'))
borderLeft = Border(left = Side(style = 'thick'))
borderRight = Border(right = Side(style = 'thick'))
borderTopLeft = Border(left = Side(style = 'thick'), top=Side(style='thick'))
borderTopRight = Border(right = Side(style = 'thick'), top=Side(style='thick'))
borderBottomLeft = Border(left = Side(style = 'thick'), bottom = Side(style = 'thick'))
borderBottomRight = Border(right = Side(style = 'thick'), bottom = Side(style = 'thick'))
for row in range(start_row, end_row + 1):
for col in range(start_col, end_col + 1):
sheet.cell(start_row, col).border = borderTop
sheet.cell(end_row, col).border = borderBottom
sheet.cell(row, start_col).border = borderLeft
sheet.cell(row, end_col).border = borderRight
sheet.cell(start_row, start_col).border = borderTopLeft
sheet.cell(start_row, end_col).border = borderTopRight
sheet.cell(end_row, start_col).border = borderBottomLeft
sheet.cell(end_row, end_col).border = borderBottomRight
return sheet
然后调用该函数,如下所示:
sheet = add_outline_border(sheet, 2, 2, sheet.max_row, sheet.max_column)