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')
返回的对象
我想根据单元格的内容为单元格的内部着色,但是当我访问它的值时,我总是得到“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')
返回的对象