Python操作Excel,样式体现
# coding:utf-8 import patterns as patterns 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('G:/test/xxx'+time.strftime("%Y%m%d%H%M%S")+'.xls')