excel的結構分三層。第一層,工作簿,第二層,工作簿裡面的sheet,第三層range,就是格子的組合。
調用xlwings也是一層層打開,每一層就是一個對象。
app = xw.App(visible=True) wb = app.books.open(filepath) sht = wb.sheets['Sheet1']如果上面visible=False,那麼整個修改過程會悄悄完成,否則只要運行第一句,excel就會馬上打開。
獲取表頭的range:
df.shape告訴我們,表格內容是3行3列。加上表頭和index就是4行4列。
所以表頭是(1,1)到(1,4)。
titlerange = sht.range((1,1), (1, len(df.columns)+1))titlerange.color = (192,0,0) titlerange.api.Font.Color = 0xffffff titlerange.api.Font.Size = 10titlerange.api.Font.FontStyle= '華文細黑'titlerange.api.Font.Bold = True titlerange.api.VerticalAlignment = -4108titlerange.api.HorizontalAlignment = -4108titlerange.row_height = 28allrange = sht.range((1,1), (len(df.index)+1, len(df.columns)+1))allrange.api.Borders.LineStyle = 1allrange.api.Borders.Weight = 2allrange選定了表格中的所有內容,包括表頭。
LineStyle = 1表示實線,不同數值表示不同的線型。Weight = 2 用於調整線的粗細。
Borders(7)表示上邊框,不同數值表示不同的邊框位置。Borders不選用數值表示所有邊框。