应用了条件格式(没有错误),但工作表直到我手动转到"编辑规则"才会更新



应用了条件格式(没有错误(,但在手动转到"编辑规则"之前,工作表不会更新。

我使用formula值作为value参数。这个公式是正确的。我首先通过在Excel中输入它来验证它;而且,这也不会产生任何错误。

ws.conditional_format(1, 0, total_rows, total_columns,
{'type'     : 'formula',
'criteria' : '=XOR(ISERR(FIND("text1",LOWER($F2))),ISERR(FIND("text2",LOWER($F2))))',
'format'   : format1})

只是我必须转到"管理规则",然后编辑规则,然后在"编辑规则"对话框中按"确定",它才能工作。在使用write_row将单元格写入工作表之前,我尝试转换这部分代码,但这也没有帮助。

可能相关的代码的其他部分:

total_rows = len(data) - 1
total_columns = len(data[0]) - 1
format1 = wb.add_format({'bg_color': '#FFC7CE', 'font_color': '#9C0006'})

Excel2010及以后版本添加了原始文件规范中未定义的函数。

这些功能被微软称为未来功能。这些函数的示例是ACOTCHISQ.DIST.RTCONFIDENCE.NORMSTDEV.PSTDEV.SWORKDAY.INTL。在这种情况下,还有XOR

为了让它们发挥作用,你需要在公式前面加上_xlfn.。像这样:

'criteria': '=_xlfn.XOR(ISERR(FIND("text1",LOWER($F2))),ISERR(FIND("text2",LOWER($F2))))', 

前缀不会显示在Excel中。

请参阅XlsxWriter文档中关于使用公式的以下部分。

最新更新