Python操作excel:用xlwt设置excel单元格背景颜色,给字体加粗。【附】颜色表
一、代码设置【第一种方法】--》使用easyxf()方法
xlwt.easyxf() 设置样式;
pattern 指的就是背景:ice_blue 就是我设置的颜色;
font 就是设置字体:bold on 是加粗;
样式可以合一起,之间用分号;
分开。
# 设置颜色 style = xlwt.easyxf('pattern: pattern solid, fore_colour ice_blue') # 字体加粗 style = xlwt.easyxf('font: bold on') #样式合并 style = xlwt.easyxf('pattern: pattern solid, fore_colour ice_blue; font: bold on') # 为指定单元格设置样式 sheets.write(0, 0, "hello girl", style)
二、代码设置【第二种方法】--》使用XFStyle()方法逐步构建对象
import xlwt style = xlwt.XFStyle() pattern = xlwt.Pattern() pattern.pattern = xlwt.Pattern.SOLID_PATTERN pattern.pattern_fore_colour = xlwt.Style.colour_map['dark_purple'] style.pattern = pattern
三、颜色表:
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
四、实际应用
# 写入用例Excel的return data列以及results列 def write_result_data(self, result_list: list, write_file_name: str, save_path: str): """ @param save_path: 保存测试报告Excel文件的路径 @param result_list: 需要写入的数据【列表格式】 @param write_file_name:需要写入的excel的文件名 @return: """ mkdir(input_dir=save_path) # 判断是否存在目标文件夹【保存Excel文件的路径是否存在】 new_report_workBook = copy(self.data) # 复制出来的新excel对象,即新的workBook变量 new_report_workSheet = new_report_workBook.get_sheet(self.sheetName) # 为新的excel对象赋值sheet表 current_time = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d-%H%M%S') for line in range(0, len(result_list)): # 表示跳过第一行【从第二行开始逐行写入】,写在第九列【index从0开始】,写入内容为 new_report_workSheet.write(1 + line, 9, str(result_list[line][0])) # 行下标 列下标 内容 # 【设置颜色&字体加粗】样式合并 style = xlwt.easyxf('pattern: pattern solid, fore_colour red; font: bold on') if result_list[line][1] is True: new_report_workSheet.write(1 + line, 10, str(result_list[line][1])) elif result_list[line][1] is False: # 为指定单元格设置样式 new_report_workSheet.write(1 + line, 10, str(result_list[line][1]), style) try: new_report_workBook.save(f'{save_path}\\{write_file_name}{current_time}.xls') except Exception: raise return f'{save_path}\\{write_file_name}{current_time}.xls'
去期待陌生,去拥抱惊喜。