Python 在 Excel 单元格中没有得到正确的值

Python not getting the right value in an Excel cell

我想根据单元格的内容为单元格的内部着色,但是当我访问它的值时,我总是得到“1.0”,计算值。

着色代码:

def _colorizeTop10RejetsSheet(self):
    """Colore les position de la page "Top 10 Rejets" """
    start_position = (5, 12)
    last_line = 47
    for x in range(start_position[0], last_line+1):
        current_cell = self.workbook.Sheets("Top 10 Rejets").Cells(x, start_position[1])
        current_cell.Interior.Color = self._computePositionColor(current_cell.Value)

def _computePositionColor(self, position):
    """Colore les position de 1 a 5 en rouge de et 6 a 10 en orange"""
    if position < 6:
        return self.RED
    elif position < 11:
        return self.ORANGE
    else:
        return self.WHITE

Excel 单元格代码:

=SI(ESTNA(RECHERCHEV(CONCATENER(TEXTE($F23;0);TEXTE($G23;"00");$H23;$I23);Données!$J:$P;7;FAUX));MAX(Données!$P:$P);RECHERCHEV(CONCATENER(TEXTE($F23;0);TEXTE($G23;"00");$H23;$I23);Données!$J:$P;7;FAUX))

如何得到计算值?

我正在使用 python 2.7 并且我正在通过 win32comExcel 与 Excel 通信

谢谢

将它添加到 _colorizeTop10Rejets 方法的开头就可以了

self.xl.Calculate()

self.xl是win32.Dispatch('Excel.Application')

返回的对象