我想使用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