2016-11-07 171 views

回答

0

波紋管是設置單元的(backgroud)顏色的一種可能性。

在這個例子中,我們使用openpyxl.styles.fills.PatternFill類。 它使用一個圖案(在這裏,它是「純色」圖案), 以及前景色(綠色)和背景色(不可見 具有純色圖案,但在另一個類似'gray125 「)。

您還可以在該openpyxl.styles.fills.GradientFill類 產生漸變填充......

import openpyxl.styles 

wb = load_workbook(xls_path) 
ws = wb.active 

cell = ws["A1"] 
cell.fill = openpyxl.styles.PatternFill('solid', openpyxl.styles.colors.GREEN) 

因此,要填充圖案的顏色,你可以閱讀fill.fgColor (或fill.bgColor背景)屬性。 你得到一個openpyxl.style.Color類的實例。

調用rgb屬性(它是一個描述符)以獲取RGB顏色作爲字符串。 注意:此值有4個分量:Alpha顏色(透明度)和經典的RGB​​顏色。

color = cell.fill.fgColor 
assert isinstance(color, openpyxl.styles.Color) 
assert color.rgb == "0000FF00" # Green 

但是,這一切都不會幫助你。因爲欄也有樣式

工作表包含一個column_dimensions的集合。 每個column_dimensions包含一列或多列(列組概念)的屬性(樣式等) 。 minmax屬性column_dimensions給出 列索引(組的開始和結束索引,從1開始)。

cd = ws.column_dimensions["A"] 
assert cd.min == 1 and cd.max == 1 

就像一個細胞,你可以設置填充模式的列:

cd.fill = openpyxl.styles.PatternFill('solid', openpyxl.styles.colors.GREEN) 

注:單元格樣式在欄目風格具有更高的優先級。 換句話說,如果您將列樣式設置爲白色,但單元格樣式爲綠色,則用戶將看到綠色單元格。

相關問題