python使用xlwt生成Excel表格

在工作中,遇到了使用python生成Excel表格的需求,经过资料的查找与对比,决定使用第三方库xlwt来生成Excel表格,现做如下总结:
简单例子:

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"""
    原文作者:郭西西
    原文地址: https://segmentfault.com/a/1190000011475147
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞