2017-09-26 54 views
0

我最近將我的代碼切換到了openpyxl,以利用更新工作簿的能力,並且我在背景風格方面遇到了問題。我已經使用顏色和十六進制值嘗試了以下代碼的幾個變體,並且我總是得到相同的結果,這是黑色背景和粗體白色文本。提前致謝!openpyxl(2.4.8)風格背景麻煩;總是黑

from openpyxl.styles import NamedStyle, PatternFill, Border, Side, 
Alignment, Protection, colors, Font 

styl_hdg = NamedStyle(name="styl_hdg") 

styl_hdg.font = Font(color=colors.WHITE, bold=True) 
styl_hdg.alignment = Alignment(wrap_text=True) 
styl_hdg.fill = PatternFill(bgColor=colors.DARKGREEN, fill_type="solid") 

ws.cell(row=myrow, column=mycol).style = styl_hdg 

我也試過這個,因爲有時我得到錯誤樣式已經定義。當我將行添加到現有工作簿/工作表時。

ws.cell(row=myrow, column=mycol).font = Font(bold=True,color=colors.WHITE) 
    ws.cell(row=myrow, column=mycol).fill = 
PatternFill(fill_type="solid",bgColor=colors.DARKGREEN) 

回答

1

從OOXML規範:

此元件用於指定單元格的填充信息圖案和純色填充細胞。對於固體細胞填充(無圖案),fgColor使用 。

所以你需要設置fgColor

+0

感謝信;我正在追蹤其他例子。 – user3120960

+0

這是非常直觀的,但這是規範。這是因爲結構化圖案填充具有兩種顏色。反直覺地,兩者都是與細胞內容相關的背景顏色。 –