在python中使用pywin32设置单元格的填充RGB颜色?

我正在避免使用任何其他模块。

我想要做的是在Excel中使用pywin32库来设置单元格的颜色。 到目前为止,我已经find了如何获得单元格的颜色:

print xl.ActiveSheet.Cells(row, column).interior.color 

你可以简单地通过类似的方式来设置它:

 xl.ActiveSheet.Cells(row, column).interior.color = 0 #black 

我的问题是如何在RGB中设置单元格的颜色?

我需要一个称为ColorTranslator的OLE,但是我不知道如何访问system.drawing因为它好像是一个.NET东西。 http://msdn.microsoft.com/en-us/library/system.drawing.colortranslator.toole.aspx

interior.color期望一个hex值如果你想在下面的RGB表单中指定可以使用的代码。

 def rgb_to_hex(rgb): strValue = '%02x%02x%02x' % rgb iValue = int(strValue, 16) return iValue xl.ActiveSheet.Cells(row, column).interior.color = rgb_to_hex((255,255,0)) 

Excel可以使用由公式Red +(Green * 256)+(Blue * 256 * 256)计算的整数。

 def rgbToInt(rgb): colorInt = rgb[0] + (rgb[1] * 256) + (rgb[2] * 256 * 256) return colorInt ws.Cells(row,col).Font.Color = rgbToInt((255,255,128))