繁体   English   中英

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

[英]How to change Excel Cell color according to Value?

所以基本上我的想法很简单。 我有一个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()之前插入就应该起作用的示例代码,请注意,我们从此处使用了一个函数:

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.')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM