Вставка времени в python openpyxl без даты

У меня есть значение, которое я хочу вставить в Excel как время в формате ЧЧ: ММ. Если я использую

   cellFillTime =  Style(fill = PatternFill(start_color=shiftColor,end_color=shiftColor,fill_type='solid'),
                                      border = Border(left=Side(style='thin'),right=Side(style='thin'),top=Side(style='thin'),bottom=Side(style='thin')),
                                       alignment=Alignment(wrap_text=True)
                                      ,number_format='HH:MM'
valM = 8 

cellData = ws5.cell(column= a + 3, row= i+2, value=valM)
_cellStlyed = cellData.style = cellFillTime

Я всегда получаю 1.1.1900 8:00:00 на листе Excel

Проблема, с которой я сталкиваюсь, заключается в том, что позже у меня есть функции СУММ, и поэтому они не работают.

Как удалить дату из ячейки при форматировании ячейки для получения только значений времени

Спасибо

наилучшие пожелания

Это сработало с точки зрения только часовой вставки

ОБНОВЛЕННЫЙ КОД cellFillTime = Style (fill = PatternFill (start_color = shiftColor, end_color = shiftColor, fill_type = 'solid'), border = Border (left = Side (style = 'thin'), right = Side (style = 'thin') , top = Side (style = 'thin'), bottom = Side (style = 'thin')), alignment = Alignment (wrap_text = True))

 if rrr["rw_seqrec"] == 1 or rrr["rw_seqrec"] == 1001:
          val_ = abs((rrr['rw_end'] -  rrr['rw_start'])) / 60
          #print "val_ ", val_
          valM = datetime.datetime.strptime(str(val_), '%H').time()
          cellData = ws5.cell(column= a + 3, row= i+2, value=valM)
          cellData.style = cellFillTime 
          cellData.number_format='HH:MM'

проблема, которая у меня есть сейчас, заключается в том, что Excel по-прежнему не хочет суммировать поля времени. Это имеет какое-то отношение к формату поля или чему-л.

какие-либо предложения?


person Yebach    schedule 05.07.2016    source источник
comment
Style объекты устарели. Пожалуйста, обновите openpyxl до более новой версии и используйте атрибут number_format.   -  person Charlie Clark    schedule 05.07.2016
comment
Я тоже пробовал с этим вариантом. Тот же результат.   -  person Yebach    schedule 05.07.2016
comment
Затем обновите свой код соответствующим образом. openpyxl автоматически применит форматы ISO для даты и времени. Похоже, вы передаете значение datetime, которое будет отформатировано как datetime.   -  person Charlie Clark    schedule 06.07.2016


Ответы (1)


Таким образом, финальным уловом было также добавление правильного формата времени для ячеек с часами, а также в ячейку, содержащую формулу СУММ.

 _cell.number_format='[h]:mm;@'
person Yebach    schedule 11.07.2016