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'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM