python 設置 Excel 單元格邊框線的各種風格


0、import

import openpyxl form openpyxl.styles import Border, borders, colors, Side

 

1、查看邊框線的內置 styles

print(dir(borders))

border_styles = ['BORDER_DASHDOT', 'BORDER_DASHDOTDOT', 'BORDER_DASHED', 'BORDER_DOTTED', 'BORDER_DOUBLE', 'BORDER_HAIR', 'BORDER_MEDIUM', 'BORDER_MEDIUMDASHDOT', 'BORDER_MEDIUMDASHDOTDOT', 'BORDER_MEDIUMDASHED', 'BORDER_NONE', 'BORDER_SLANTDASHDOT', 'BORDER_THICK', 'BORDER_THIN'] border_styles = [eval(f'openpyxl.styles.borders.{bs}') for bs in border_styles] border_styles

 

 

 2、在 excel 中設置各種邊框線

wb = openpyxl.Workbook() ws = wb.active di = 1   # 每塊合並 2 行
dj = 2    # 每塊合並 3 列
top_cells = []    # 合並塊中最上面的單元格
bottom_cells = []    # 合並塊中最下面的單元格
for i in range(2, 23, 6): for j in range(2, 15, 4): # 合並單元格
        ws.merge_cells(start_row=i, start_column=j, end_row=i+di, end_column=j+dj) # 添加單元格的列表
        top_cells.append([ws.cell(row=i, column=j+k) for k in range(dj+1)]) bottom_cells.append([ws.cell(row=i+di, column=j+k) for k in range(dj+1)]) for i, bs in enumerate(border_styles): side = Side(border_style=bs, color=colors.RED) for cell_a, cell_b in zip(top_cells[i], bottom_cells[i]): cell_a.border = Border(top=side)    # 設置合並塊中最上面的單元格的上邊框線
        cell_b.border = Border(bottom=side)    # 設置合並塊中最下面的單元格的下邊框線
    if not bs: bs = 'None' top_cells[i][0].value = bs    # 在合並塊中左上角單元格中寫入值
 wb.save('test.xlsx')

excel 效果:

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM