您現在的位置是:首頁 > 藝術
「前置知識」Python中xlwt模組,Excel表格保護單元格和隱藏公式
word文件如何排頁
前面內容,我們介紹了xlwt模組建立工作表及工作表中單元格數字格式、字型、對齊方式、邊框等設定方法。透過製作案例:工程專案預算表,對介紹的內容進行了練習。
今天,我們介紹另外一種XFStyle類的屬性:pattern(圖案,Excel中這樣翻譯)。
pattern屬性
我們先來看這個Formatting模組中的Pattern類有哪些屬性。
屬性
方法一:使用_search_key()方法獲取屬性
import xlwt
pattern = xlwt。Pattern()
patterninfo = pattern。_search_key()
print(patterninfo, pattern。__dict__)
>>>
(0, 64, 65){‘pattern’: 0, ‘pattern_fore_colour’: 64, ‘pattern_back_colour’: 65}
方法二:閱讀原始碼
PyCharm中按下Ctrl鍵,顯示出現超連結後,點選Pattern(),即可進入到它的原始碼。
class Pattern(object):# patterns 0x00 - 0x12NO_PATTERN = 0x00SOLID_PATTERN = 0x01def __init__(self):self.pattern = self.NO_PATTERN self.pattern_fore_colour = 0x40 self.pattern_back_colour = 0x41
上面標紅的字型為它的屬性定義。
這個類的屬性很少,它其實就是定義了單元格填充的內容(除了文字以外,比如,你可以為一個單元格設定一個紅色背景)。Excel中對於單元格背景的設定介面如下。
Excel單元格背景填充設定
3個屬性
pattern
表示是否設定填充,預設NO_PATTERN(值為0),不設定任何填充。還有一個選項SOLID_PATTERN(1),設定填充。
pattern_fore_colour
設定填充的前景色,預設為64(十六進位制0x40)。
pattern_back_colour
設定填充的背景色,預設為65(十六進位制0x41)
。
屬性
開始例子之前,我們再回顧下xlwt中的各種顏色及值。
上面是原始碼中彙總的顏色值,大家可以直接複製十六進位制使用相應的顏色。
Pattern這個類並不像Font、Alignment、Borders類,前面講述的這3個類,在Excel單元格格式設定中,每一個設定選項都能找到相應的類屬性進行設定。而Pattern這個類,只提供了顏色設定,對於圖案設定並沒有提供。
設定介面較少
沒提供也沒辦法了,我先學現成的。下面舉個例子。
舉個例子
我們建立一個工作表,然後在裡面設定一個單元格,填充背景色為紅色(貌似這裡的背景色是透過pattern_fore_colour屬性設定的)。
import xlwt # 匯入xlwt
wb = xlwt。Workbook() # 建立一個新的工作薄
ws = wb。add_sheet(‘testPattern’) # 建立一個工作表
style = xlwt。XFStyle() # 建立一個XFStyle例項
pattern = xlwt。Pattern() # 設定填充屬性
pattern。pattern = pattern。SOLID_PATTERN # 值為1,設定填充
pattern。pattern_fore_colour = 0x02 # 設定紅色
# pattern。pattern_back_colour = 0x16 # 設定黑色,這個不知道幹啥的
style。pattern = pattern
ws。write(r=0, c=0, label=‘預設填充’)
ws。write(r=1, c=1, label=‘填充紅色背景’, style=style)
wb。save(‘填充背景色。xlsx’) # 儲存excel
直接複製、貼上,大家可以看下效果,這個屬性沒有太大難度,設定顏色也是日常設定單元格格式常用的操作。這裡不再贅述了。
設定填充前景色
下面,我們介紹另一個屬性:protection
protection屬性
推薦文章
- 【關注】沽源縣退役軍人事務局關於《河北省退役軍人優待證》審驗工作的通知
沽源縣退役軍人事務局關於《河北省退役軍人優待證》審驗工作的通知各鄉鎮退役軍人服務站:為紮實落實《河北省退役軍人公共服務優待辦法(試行)》,確保全縣退役軍人在河北省行政區域內的公共服務機構和場所繼續享受優先或優惠待遇,自即日起啟動《河北省退役...
- 約車司機開純電動車接大單,1天跑1400公里,這一單賺還是虧?
跑網約車的師傅都想接到所謂的“大單”,但是大單卻是可遇不可求的,上個月惠州一位網約車司機曬出了自己的千里大單...
- “都市田園”將現!南海大瀝同心農業生態園啟動建設丨我要上佛山釋出
農用地連片整治提升大瀝深入推進全域土地綜合整治綜合活動現場,大瀝鎮土地資源開發公司與太平社群簽訂《太平社群生態農業專案土地整備協議》,將對太平社群機場湧沿線連片約550畝魚塘實行改造,推進魚塘復耕種植水稻工程,並同步引入優質農業專案進行連片...