Python win32com excel删除内部颜色



我想使用python和win32com删除Excel单元格的背景色。

如果我通过val = ws.Cells(r,c).Interior.Color询问空的未格式化单元格的背景颜色,我得到的是白色的16777215。如果我设置这个值,我会得到一个白色填充的单元格,但不会得到一个没有背景的单元格。使用None会导致黑色单元格。

删除单元格背景色的正确方法是什么?

使用-4142,这是xlNone:的对应值

xlNone = -4142
ws.Cells(r,c).Interior.Color = xlNone

或者不用硬编码,先使用EnsureDispatch(),然后使用client.constants.xlNone:

from win32com import client
xl=client.gencache.EnsureDispatch('Excel.Application')
ws.Cells(r,c).Interior.Color = client.constants.xlNone

最新更新