一、基礎類介紹 1、工作簿類Workbook簡介: import xlwt class Workbook(object0): ''' 工作簿類,使用xlwt創建excel文件時,首先要實例化此類的對象 ''' def __init__(self, encoding='ascii', style_co ...
一、基礎類介紹
1、工作簿類Workbook簡介:
import xlwt class Workbook(object0): ''' 工作簿類,使用xlwt創建excel文件時,首先要實例化此類的對象 ''' def __init__(self, encoding='ascii', style_compression=0): pass def add_sheet(self,sheetname, cell_overwrite_ok=False): ''' 在工作簿中創建工作表 :param sheetname: 工作表的名字 :param cell_overwrite_ok: 如果值為True,則可以像單元格中多次寫入數據(覆蓋寫),相當於修改單元格的數據,如果值為False則多次寫入會引發異常。 :return: 返回一個工作表對象(也就是Worksheet()對象) ''' pass def save(self,filename_or_stream): ''' 將文件以Excel的格式進行保存 :param filename_or_stream:Excel的文件名 :return: ''' pass
2、工作表類WorkSheet簡介
class Worksheet(object): ''' 工作表類 ''' def __init__(self, sheetname, parent_book, cell_overwrite_ok=False): ''' 實例化對象的參數 :param sheetname: 工作表名 :param parent_book: 工作簿對象 :param cell_overwrite_ok:覆蓋寫單元格(如果為True可以覆蓋寫單元格,為False如果覆蓋寫會拋異常) ''' pass def write(self, r, c, label="", style=xlwt.Style.default_style): ''' 將數據寫入工作表的單元格中 :param r: row的縮寫,表示行,從0開始計數。 :param c: column的縮寫,表示列,從0開始計數。 :param label:要寫入的數據(支持的數據類型:int,long,float,字元串,日期,TRUE,FALSE,xlwt.Formula等) :param style:表格樣式(樣式類:Font, Alignment, Borders, Pattern, Protection。樣式函數:easyxf, easyfont, add_palette_colour) :return: ''' pass
3、創建一個不帶樣式的基礎Excel表
import xlwt # 實例化一個工作簿對象 workbook = xlwt.Workbook(encoding = 'utf-8') # 獲取工作表對象Worksheet worksheet = workbook.add_sheet('work_sheet') # 向工作表中添加數據(參數對應 行, 列, 值) for i in range(3): for j in range(3): worksheet.write(i,j, label = 'test_' + str(j),) # 保存數據到硬碟 workbook.save(r'i:\Excel_test.xls')
最終我們會看到如下圖所示:
二、xlwt高級應用
1、字體類Font簡介
class Font(object): def __init__(self): # twip = 1/20 of a point = 1/1440 of a inch # usually resolution == 96 pixels per 1 inch # (rarely 120 pixels per 1 inch or another one) self.height = 0x00C8 # 200: this is font with height 10 points 字體高度 self.italic = False # 斜體 self.struck_out = False # 刪除線 self.outline = False # 字體輪廓(沒發現有什麼變化) self.shadow = False # 字體陰影 self.colour_index = 0x7FFF # 這個字體顏色貌似有限制,沒太搞懂,範圍是0x00到0x35之間有顏色,超過這個範圍都是黑色,最大不能超過0xFFFF否則會報錯。 self.bold = False # 粗體 self._weight = 0x0190 # 0x02BC gives bold font # 字體寬度 self.escapement = self.ESCAPEMENT_NONE #字體在單元格中位置,0x00正常,0x01字體上標,0x02字體下標。 self.underline = self.UNDERLINE_NONE # 預設字體不帶下劃線,0x01單下劃線,0x02和0x01差不多,0x21雙下劃線,0x02和0x21差不多 self.family = self.FAMILY_NONE # 不清楚做什麼的,預設沒有,0x01羅馬家族,0x02瑞士家族,0x03現代家族,0x04腳本家族,0x05描述家族 self.charset = self.CHARSET_SYS_DEFAULT # 字元集,字元集選項 CHARSET_ANSI_LATIN = 0x00 CHARSET_SYS_DEFAULT = 0x01 CHARSET_SYMBOL = 0x02 CHARSET_APPLE_ROMAN = 0x4D CHARSET_ANSI_JAP_SHIFT_JIS = 0x80 CHARSET_ANSI_KOR_HANGUL = 0x81 CHARSET_ANSI_KOR_JOHAB = 0x82 CHARSET_ANSI_CHINESE_GBK = 0x86 CHARSET_ANSI_CHINESE_BIG5 = 0x88 CHARSET_ANSI_GREEK = 0xA1 CHARSET_ANSI_TURKISH = 0xA2 CHARSET_ANSI_VIETNAMESE = 0xA3 CHARSET_ANSI_HEBREW = 0xB1 CHARSET_ANSI_ARABIC = 0xB2 CHARSET_ANSI_BALTIC = 0xBA CHARSET_ANSI_CYRILLIC = 0xCC CHARSET_ANSI_THAI = 0xDE CHARSET_ANSI_LATIN_II = 0xEE CHARSET_OEM_LATIN_I = 0xFF self.name = 'Arial' # 字體
1.1創建一個改變預設字體樣式的Excel
import xlwt # 實例化一個工作簿對象 workbook = xlwt.Workbook(encoding = 'utf-8') # 獲取工作表對象Worksheet worksheet = workbook.add_sheet('work_sheet') # 實例化表格樣式對象 xstyle = xlwt.XFStyle() # 設置字體樣式 xfont = xlwt.Font() xfont.colour_index = 0x04 # 設置字體顏色 xfont.bold = True # 字體加粗 xfont.height = 20 * 18 # 設置字體高度(20是基數不變,18是字型大小用於調整大小) xfont.underline = 0x01 # 設置字體帶下劃線 xfont.name = '華文彩雲' # 設置字體 # 將字體對象賦值給樣式對象 xstyle.font = xfont for i in range(3): for j in range(3): # 向工作表中添加數據(參數對應 行, 列, 值,樣式) worksheet.write(i,j, label = 'test_' + str(j),style=xstyle) # 保存數據到硬碟 workbook.save(r'i:\2.xls')
如果一切順利,打開2.xls會看到如下:
----------------------------------------------------------------------------未完待續------------------------------------------------------------------------------