如何在Iron Python中更改Excel中的单元格背景颜色?
我尝试了以下代码:
def rgb_to_hex(rgb):
strValue = '%02x%02x%02x' % rgb
iValue = int(strValue, 16)
return iValue
worksheet.range["H6"].interior.color = rgb_to_hex((255,255,0))
但是不起作用。它给出了HResult错误
答案 0 :(得分:0)
我不熟悉Iron Python,但在C#中我做了以下几点:
Range colorCells = WS.get_Range(WS.Cells[row.Row, locCol], WS.Cells[row.Row, locCol + locWid]);
colorCells.Interior.Color = System.Drawing.ColorTranslator.ToOle(color);
我的猜测是Tim有正确的建议,您需要使用不同的方式将RGB转换为interior.color可以接受的颜色。
在我的C#中,它将颜色指定为int。
public static int ToOle(Color c);
答案 1 :(得分:0)
我已经设法通过两种方式输入颜色:
https://docs.microsoft.com/en-us/office/vba/api/excel.colorindex
worksheet.Range["H6"].Interior.ColorIndex = 3
clr.AddReference('System.Drawing')
from System.Drawing import Color, ColorTranslator
def rgbForExcel(r, g, b):
return ColorTranslator.ToOle(Color.FromArgb(r, g, b))
worksheet.Range["H6"].Interior.Color = rgbForExcel(255, 50, 0)