在工做中,遇到了使用python生成Excel表格的需求,通過資料的查找與對比,決定使用第三方庫xlwt來生成Excel表格,現作以下總結:
簡單例子:python
import xlwt wb = xlwt.Workbook(encoding = 'ascii') #建立實例,而且規定編碼 ws = wb.add_sheet('My Worksheet') #設置工做表名稱 ws.write(0,0,'first') #向表格中插入字符串,前兩位數字分別爲行和列,第三個參數爲要插入的內容,第四個參數能夠設置樣式 wb.save('test.xls') #將生成的表格保存爲
單元格樣式控制:函數
def set_style(name, height, bold=False, back=False): #樣式控制函數 style = xlwt.XFStyle() # 初始化樣式 font = xlwt.Font() # 爲樣式建立字體 font.name = name # 字體由函數傳入 font.bold = bold font.color_index = 4 font.height = height style.font = font borders = xlwt.Borders() # 設置邊框 borders.left = xlwt.Borders.THIN # 可選: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D. borders.right = xlwt.Borders.THIN borders.top = xlwt.Borders.THIN borders.bottom = xlwt.Borders.THIN style.borders = borders if back: patterni = xlwt.Pattern() # 爲樣式建立圖案 patterni.pattern = 2 # 設置底紋的圖案索引,1爲實心,2爲50%灰色,對應爲excel文件單元格格式中填充中的圖案樣式 patterni.pattern_fore_colour = 0x16 # 設置底紋的前景色,對應爲excel文件單元格格式中填充中的背景色 patterni.pattern_back_colour = 0x16 # 設置底紋的背景色,對應爲excel文件單元格格式中填充中的圖案顏色 style.pattern = patterni # 爲樣式設置圖案 return style
背景色對照:字體
_colour_map_text = """\ aqua 0x31 black 0x08 blue 0x0C blue_gray 0x36 bright_green 0x0B brown 0x3C coral 0x1D cyan_ega 0x0F dark_blue 0x12 dark_blue_ega 0x12 dark_green 0x3A dark_green_ega 0x11 dark_purple 0x1C dark_red 0x10 dark_red_ega 0x10 dark_teal 0x38 dark_yellow 0x13 gold 0x33 gray_ega 0x17 gray25 0x16 gray40 0x37 gray50 0x17 gray80 0x3F green 0x11 ice_blue 0x1F indigo 0x3E ivory 0x1A lavender 0x2E light_blue 0x30 light_green 0x2A light_orange 0x34 light_turquoise 0x29 light_yellow 0x2B lime 0x32 magenta_ega 0x0E ocean_blue 0x1E olive_ega 0x13 olive_green 0x3B orange 0x35 pale_blue 0x2C periwinkle 0x18 pink 0x0E plum 0x3D purple_ega 0x14 red 0x0A rose 0x2D sea_green 0x39 silver_ega 0x16 sky_blue 0x28 tan 0x2F teal 0x15 teal_ega 0x15 turquoise 0x0F violet 0x14 white 0x09 yellow 0x0D"""