python3-xlwt-Excel格式设置

通过Python xlwt 模块对Excel格式进行设置,包括字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗

# coding:utf-8
import xlwt
import time

i = 0
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('sheet1', cell_overwrite_ok=True)
# 如果出现报错:Exception: Attempt to overwrite cell: sheetname='sheet1' rowx=0 colx=0
# 需要加上:cell_overwrite_ok=True)
# 这是因为重复操作一个单元格导致的

while i < 64:
    # 为样式创建字体
    font = xlwt.Font()

    # 字体类型
    font.name = 'name Times New Roman'
    # 字体颜色
    font.colour_index = i
    # 字体大小,11为字号,20为衡量单位
    font.height = 20 * 11
    # 字体加粗
    font.bold = False
    # 下划线
    font.underline = True
    # 斜体字
    font.italic = True

    # 设置单元格对齐方式
    alignment = xlwt.Alignment()
    # 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
    alignment.horz = 0x02
    # 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
    alignment.vert = 0x01

    # 设置自动换行
    alignment.wrap = 1

    # 设置边框
    borders = xlwt.Borders()
    # 细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7
    # 大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13
    borders.left = 1
    borders.right = 2
    borders.top = 3
    borders.bottom = 4
    borders.left_colour = i
    borders.right_colour = i
    borders.top_colour = i
    borders.bottom_colour = i

    # 设置列宽,一个中文等于两个英文等于两个字符,11为字符数,256为衡量单位
    sheet.col(1).width = 11 * 256

    # 设置背景颜色
    pattern = xlwt.Pattern()
    # 设置背景颜色的模式
    pattern.pattern = xlwt.Pattern.SOLID_PATTERN
    # 背景颜色
    pattern.pattern_fore_colour = i

    # 初始化样式
    style0 = xlwt.XFStyle()
    style0.font = font

    style1 = xlwt.XFStyle()
    style1.pattern = pattern

    style2 = xlwt.XFStyle()
    style2.alignment = alignment

    style3 = xlwt.XFStyle()
    style3.borders = borders

    # 设置文字模式
    font.num_format_str = '#,##0.00'

    sheet.write(i, 0, u'字体', style0)
    sheet.write(i, 1, u'背景', style1)
    sheet.write(i, 2, u'对齐方式', style2)
    sheet.write(i, 3, u'边框', style3)

    # 合并单元格,合并第2行到第4行的第4列到第5列
    sheet.write_merge(2, 4, 4, 5, u'合并')
    i = i + 1

book.save('test_file' + time.strftime("%Y%m%d%H%M%S") + '.xls')

效果如下:

表格字体与背景颜色对照表请查看博文:python-xlwt-Excel表格字体与背景颜色对照表

猜你喜欢

转载自blog.csdn.net/apollo_miracle/article/details/105087474