如何使用 openpyxl.kinda 根据用户输入动态设置单元格样式,例如在排行榜中突出显示当前用户位置

问题描述

我正在使用 openpyxl 编写排行榜。但是我无法使用样式方法为当前播放器着色。 这就是我所做的。 导入所有必要的库后

username = input(': ')

for row in sheet.values:
 for value in row:
  If value == username:
   sheet.value.font = Font(color=colors.Blue)

它没有做任何事情。请有人帮忙。谢谢。

解决方法

您正在提取工作表的并遍历它们,然后期望能够引用工作表。这行不通。如果要引用工作表,请使用工作表引用。

(注意这不是最干净的方法)

import openpyxl
from openpyxl.styles import Color,Font,colors

username = input(': ')

wb = openpyxl.load_workbook('example.xlsx')
sheet = wb['Sheet1']

for current_row in sheet:
    for current_column in current_row:
        if current_column.value == username:
            current_column.font = Font(color=colors.BLUE)

wb.save('example.xlsx')