本文根據(jù)自己初學(xué)經(jīng)驗(yàn)編寫(xiě)的使用xlwt模塊設(shè)置單元格的一些基本樣式,如設(shè)置單元格的背景顏色,下框線,字體,字體的顏色,設(shè)置列寬行高,插入簡(jiǎn)單的圖片,詳細(xì)程序如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/usr/bin/env python # -*- coding: utf-8 -*-” #只對(duì)當(dāng)前文件的中文編碼有效 #Create by zhizaiqianli 2015-12-12 Version V1.0 #!/usr/bin/python # Filename : Write_excel_Format.py import os import time from xlwt import * from Mymodule import cur_file_dir filename = 'TestData2.xls' #檢測(cè)當(dāng)前目錄下是否有TestData2.xls文件,如果有則清除以前保存文件 if os.path.exists(filename): os.remove(filename) print time.strftime( "%Y-%m-%d" ,time.localtime(time.time())) #打印讀取到當(dāng)前系統(tǒng)時(shí)間 wbk = Workbook(encoding = 'utf-8' ) sheet = wbk.add_sheet( 'new sheet 1' , cell_overwrite_ok = True ) #第二參數(shù)用于確認(rèn)同一個(gè)cell單元是否可以重設(shè)值。 style = XFStyle() #賦值style為XFStyle(),初始化樣式 for i in range ( 0x00 , 0xff ): # 設(shè)置單元格背景顏色 pattern = Pattern() # 創(chuàng)建一個(gè)模式 pattern.pattern = Pattern.SOLID_PATTERN # 設(shè)置其模式為實(shí)型 pattern.pattern_fore_colour = i # 設(shè)置單元格背景顏色 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, the list goes on... style.pattern = pattern # 將賦值好的模式參數(shù)導(dǎo)入Style Line_data = (u '測(cè)試表' ) #創(chuàng)建一個(gè)Line_data列表,并將其值賦為測(cè)試表,以u(píng)tf-8編碼時(shí)中文前加u sheet.write_merge(i, i, 0 , 2 , Line_data, style) #以合并單元格形式寫(xiě)入數(shù)據(jù),即將數(shù)據(jù)寫(xiě)入以第1/2/3列合并德單元格內(nèi) for i in range ( 0x00 , 0xff ): # 設(shè)置單元格內(nèi)字體樣式 fnt = Font() # 創(chuàng)建一個(gè)文本格式,包括字體、字號(hào)和顏色樣式特性 fnt.name = u '微軟雅黑' # 設(shè)置其字體為微軟雅黑 fnt.colour_index = i # 設(shè)置其字體顏色 fnt.bold = True style.font = fnt #將賦值好的模式參數(shù)導(dǎo)入Style sheet.write_merge(i,i, 3 , 5 ,Line_data,style) #以合并單元格形式寫(xiě)入數(shù)據(jù),即將數(shù)據(jù)寫(xiě)入以第4/5/6列合并德單元格內(nèi) for i in range ( 0 , 0x53 ): # 設(shè)置單元格下框線樣式 borders = Borders() borders.left = i borders.right = i borders.top = i borders.bottom = i style.borders = borders #將賦值好的模式參數(shù)導(dǎo)入Style sheet.write_merge(i,i, 6 , 8 ,Line_data,style) #以合并單元格形式寫(xiě)入數(shù)據(jù),即將數(shù)據(jù)寫(xiě)入以第4/5/6列合并德單元格內(nèi) for i in range ( 6 , 80 ): # 設(shè)置單元格下列寬樣式 sheet.write( 0 ,i,Line_data,style) sheet.col(i).width = 0x0d00 + i * 50 path_py = "\\images\python.bmp" #讀取插入圖片以.py運(yùn)行時(shí)路徑,images和.py在同一目錄下 path_exe = "\\images\python.bmp" #讀取插入圖片以.exe運(yùn)行時(shí)路徑,.exe可以移到其他任意目錄下運(yùn)行但images和.exe在同一目錄下 path = cur_file_dir(path_py,path_exe) #獲取文件的相對(duì)路徑 filename = path #檢測(cè)當(dāng)前目錄下是否有python.bmp圖片, if os.path.exists(filename): print u 'python.bmp圖片存在' else : print u 'python.bmp圖片不存在' sheet.insert_bitmap(path, 2 , 9 ) #插入一個(gè)圖片 wbk.save( 'TestData2.xls' ) #保存TestData2.xls文件,保存到腳本或exe文件運(yùn)行的目錄下 raw_input ( "Enter enter key to exit..." ) #插入一個(gè)輸入命令,方便運(yùn)行exe時(shí)一閃而過(guò)不到打印信息 |
以cmd命令運(yùn)行 Write_excel_Format.py時(shí)結(jié)果和生成表格如下所示:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/u013400654/article/details/50284983