Openpyxl для Python TypeError при условном форматировании - PullRequest
0 голосов
/ 17 мая 2018

У меня есть скрипт Python, который использует Openpyxl для создания отчета, и он условно форматирует один из столбцов.Этот сценарий успешно работал некоторое время.Теперь я перемещаю скрипт на новый компьютер, и на новом компьютере у меня обновленная версия Openpyxl, и скрипт больше не работает (новый компьютер использует Openpyxl 2.5.3, старый использует 2.4.1).

Вот ошибка:

TypeError: expected <class 'openpyxl.worksheet.cell_range.MultiCellRange'>

А вот строка, по которой она срабатывает:

    ws.conditional_formatting.add('A3:B{0}'.format(report_query.oli_num_of_rows + 2,),
                              CellIsRule(operator='equal', formula=['{0}'.format(two_days_old)], stopIfTrue=True, fill=yellow_fill))

Хотелось бы, чтобы у меня было лучшее представление о том, чтовызывает эту проблему, но я, честно говоря, не знаю, с чего начать.Что я могу сделать, чтобы решить эту проблему?

Спасибо за вашу помощь, как всегда!


Это не дубликат вопроса о том, как выполнить условное форматирование в openpyxl, потому что я не спрашиваю, как выполнить условное форматирование.Я делал это уже в openpyxl 2.4.1 много раз, и он работал нормально.Когда я обновил свой скрипт до openpyxl 2.5.3, он начал возвращать TypeError в строках условного формата.Что изменилось с 2.4.1 до 2.5.3, чтобы вызвать ошибку TypeError, когда эти условно отформатированные строки работали, и как я могу это исправить?

...