iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0
Python

運用 Python 操作 Excel系列 第 29

[Day29] Python 操作 Excel - 小試身手(迴圈解儲存格框線樣式)

  • 分享至 

  • xImage
  •  

認識儲存格框線的樣式

儲存格框線 Border 模組常用參數如下:

border_style是線條樣式,可參考"設定儲存格格式"外框頁次線條欄位的樣式
https://ithelp.ithome.com.tw/upload/images/20241010/201688577EXsf5j19w.png

Border(left=Side(border_style=None,color='000000'),    #儲存格左邊框線
       right=Side(border_style=None,color='000000'),   #儲存格右邊框線
       top=Side(border_style=None,color='000000'),     #儲存格上邊框線
       botten=Side(border_style=None,color='000000'),  #儲存格下邊框線
       diagonal=Side(border_style=None,color='000000'),#儲存格對角框線
       diagonalDown=False,     #左上到右下的對角線,預設False,表示不顯示
       diagonalUp=False,       #左下到右上的對角線,預設False,表示不顯示
       outline=Side(border_style=None,color='000000'), #儲存格垂直框線
       vertical=Side(border_style=None,color='000000'),#儲存格水平框線
       horizonal=Side(border_style=None,color='000000'))

使用框線 Border() 的語法:

ws[儲存格].border = Border(xx) # xx是框線的系列屬性設定
也就是工作表的儲存格物件引用 border 屬性,再執行賦值設定。設定 Border框線時,只能單一儲存格設定,因為單一儲存格才有 border 屬性,如果要設定儲存格區間需使用迥圈方式。

用迴圈設定某儲存格區間的框線樣式

範例程式

#ch3_9.py
import openpyxl
from openpyxl.styles import Border,Side
fn = "out1_5.xlsx"
wb = openpyxl.load_workbook(fn)
ws = wb.active
#設定thin框線
side = Side(border_style='thin')
borders = Border(left=side,right=side,top=side,bottom=side)
for rows in ws['A1':'D10']:
    for cell in rows:
        cell.border = borders

#設定左上到右下的紅色對角線
diagonal_side = Side(border_style='thin', color="FF0000")
for cell in ws['A2':'D2']:
    for c in cell:
        c.border = Border(left=side, right=side, top=side, bottom=side, diagonal=diagonal_side, diagonalDown=True)

wb.save('out3_9.xlsx') 

執行結果

https://ithelp.ithome.com.tw/upload/images/20241010/20168857XYZltMaYB6.png


上一篇
Python 操作 Excel -小試身手(字型功能)
下一篇
Python 操作 Excel -小試身手(儲存格對齊方式)
系列文
運用 Python 操作 Excel30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言