python - 如何根据值更改Excel单元格颜色?

标签 python excel win32com

所以基本上我的想法相当简单。我有一个 Excel 文件,其中有一列(D) 我想检查每一行的列长度(除了第一行,那是一个名字)。如果该值高于 0,则单元格应为绿色,如果该值低于 0,则单元格应为红色,0 为灰色。我知道这可以通过循环实现,但我不知道如何实现,也找不到任何关于如何解决这个问题的好信息......

所以我已经得到了这个:

import win32com.client as win32
import pythoncom

    pythoncom.CoInitialize()

    #Excel
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    wb = excel.Workbooks.Open('C:\\Users\\Gebruiker\\Downloads\\RELEARNING\\output.xlsx')
    ws = wb.Worksheets("Sheet1")
    ws.Cells(1,4).Value = "Coin Toss Results"  #This is Row D
    ws.Columns.AutoFit()
    wb.Save()
    excel.Application.Quit() 

最有效的方法是什么?

感谢您提前回复,

一月

PS:OpenPyXL被标记,因为我认为win32com使用与openpyxl相同的命令,如果我没有记错的话,否则删除标记...

最佳答案

这里是示例代码,只要您在 wb.Save() 之前插入,它就应该可以工作,请注意,我们使用了 here 中的函数。 :

for i in range(2,5):   # Assuming there is Cell(D2)=1, Cell(D3)=0, Cell(D4)=-1
    cell = ws.Cells(i,4)
    if cell.Value < 0:
        cell.Interior.Color = rgbToInt((255,0,0)) # red
    elif cell.Value == 0:
        cell.Interior.Color = rgbToInt((211,211,211)) # grey
    elif cell.Value > 0:
        cell.Interior.Color = rgbToInt((0,255,0)) # green
    else:
        print('Error.')

关于python - 如何根据值更改Excel单元格颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55287232/

相关文章:

python - 当 <a> 使用 XPath 包裹另一个元素时,如何获取链接和文本?

c# - 遍历目录中的子目录

python - 如何使用 python win32com.client 在 Excel 中添加折线?

python - 如何解决comerror : PivotFields method of PivotTable class failed?

python - Go语言追加系统路径

python - 如何计算多个列表中 n 元语法的出现次数

python - 使用setuptools将文件安装到任意位置

excel - 将具有特定值的所有单元格复制到另一列中,跳过空白

vba - 获取Excel中的当前单元格VBA

c++ - 如何在win32中制作复选框?