有条件格式化时,Openpyxl for Python TypeError

时间:2018-05-17 17:12:01

标签: python typeerror openpyxl

我有一个使用Openpyxl创建报告的Python脚本,它有条件地格式化其中一个列。这个脚本已经成功运行了一段时间。现在我将脚本移动到新计算机,并且使用新计算机我有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,我该如何解决这个问题?

0 个答案:

没有答案