1. 程式人生 > >Python xlwt設定excel單元格字型及格式

Python xlwt設定excel單元格字型及格式

本文根據自己初學經驗編寫的使用xlwt模組設定單元格的一些基本樣式,如設定單元格的背景顏色,下框線,字型,字型的顏色,設定列寬行高,插入簡單的圖片,詳細程式如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-”                #只對當前檔案的中文編碼有效                                      
#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' #檢測當前目錄下是否有TestData2.xls檔案,如果有則清除以前儲存檔案 if os.path.exists(filename): os.remove(filename) print time.strftime("%Y-%m-%d"
,time.localtime(time.time())) #列印讀取到當前系統時間 wbk = Workbook(encoding='utf-8') sheet = wbk.add_sheet('new sheet 1', cell_overwrite_ok=True) #第二引數用於確認同一個cell單元是否可以重設值。 style = XFStyle() #賦值style為XFStyle(),初始化樣式 for i in range(0x00
,0xff): # 設定單元格背景顏色 pattern = Pattern() # 建立一個模式 pattern.pattern = Pattern.SOLID_PATTERN # 設定其模式為實型 pattern.pattern_fore_colour = i # 設定單元格背景顏色 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, the list goes on... style.pattern = pattern # 將賦值好的模式引數匯入Style Line_data = (u'測試表') #建立一個Line_data列表,並將其值賦為測試表,以utf-8編碼時中文前加u sheet.write_merge(i, i, 0, 2, Line_data, style) #以合併單元格形式寫入資料,即將資料寫入以第1/2/3列合併德單元格內 for i in range(0x00,0xff): # 設定單元格內字型樣式 fnt = Font() # 建立一個文字格式,包括字型、字號和顏色樣式特性 fnt.name = u'微軟雅黑' # 設定其字型為微軟雅黑 fnt.colour_index = i # 設定其字型顏色 fnt.bold = True style.font = fnt #將賦值好的模式引數匯入Style sheet.write_merge(i,i,3,5,Line_data,style) #以合併單元格形式寫入資料,即將資料寫入以第4/5/6列合併德單元格內 for i in range(0, 0x53): # 設定單元格下框線樣式 borders = Borders() borders.left = i borders.right = i borders.top = i borders.bottom = i style.borders = borders #將賦值好的模式引數匯入Style sheet.write_merge(i,i,6,8,Line_data,style) #以合併單元格形式寫入資料,即將資料寫入以第4/5/6列合併德單元格內 for i in range(6, 80): # 設定單元格下列寬樣式 sheet.write(0,i,Line_data,style) sheet.col(i).width = 0x0d00 + i*50 path_py = "\\images\python.bmp" #讀取插入圖片以.py執行時路徑,images和.py在同一目錄下 path_exe = "\\images\python.bmp" #讀取插入圖片以.exe執行時路徑,.exe可以移到其他任意目錄下執行但images和.exe在同一目錄下 path = cur_file_dir(path_py,path_exe) #獲取檔案的相對路徑 filename = path #檢測當前目錄下是否有python.bmp圖片, if os.path.exists(filename): print u'python.bmp圖片存在' elseprint u'python.bmp圖片不存在' sheet.insert_bitmap(path, 2, 9) #插入一個圖片 wbk.save('TestData2.xls') #儲存TestData2.xls檔案,儲存到指令碼或exe檔案執行的目錄下 raw_input("Enter enter key to exit...") #插入一個輸入命令,方便執行exe時一閃而過不到列印資訊

以cmd命令執行 Write_excel_Format.py時結果和生成表格如下所示:
這裡寫圖片描述
這裡寫圖片描述

編寫部落格記錄分享,也是為自己備份,如有疑問可以發表評論溝通,謝謝!