应用了条件格式(没有错误(,但在手动转到"编辑规则"之前,工作表不会更新。
我使用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及以后版本添加了原始文件规范中未定义的函数。
这些功能被微软称为未来功能。这些函数的示例是ACOT
、CHISQ.DIST.RT
、CONFIDENCE.NORM
、STDEV.P
、STDEV.S
和WORKDAY.INTL
。在这种情况下,还有XOR
。
为了让它们发挥作用,你需要在公式前面加上_xlfn.
。像这样:
'criteria': '=_xlfn.XOR(ISERR(FIND("text1",LOWER($F2))),ISERR(FIND("text2",LOWER($F2))))',
前缀不会显示在Excel中。
请参阅XlsxWriter文档中关于使用公式的以下部分。