xlsxwriter按公式条件进行条件格式化

时间:2016-02-11 11:39:13

标签: python excel xlsxwriter

我想将格式应用于列中的单元格。行索引是5,7,8,9,10,11和13。

我使用的代码如下:

 worksheet.conditional_format("C4:C14", {'type'    :  'formula',
                                           'criteria': '=ISNUMBER(MATCH(ROW(),{5,7,8,9,10,11,13},0))=TRUE',
                                           'format'  :   format_white})

结果是没有生成Excel文件。

当我直接在Excel中输入时,公式=ISNUMBER(MATCH(ROW(),{5,7,8,9,10,11,13},0))=TRUE的工作方式正如我预期的那样。我使用更简单的公式'criteria': '=MOD(ROW(),2)=0'运行上面的代码并且它有效,所以我怀疑问题出在条件字段中。

任何人都可以帮助我吗?提前致谢

1 个答案:

答案 0 :(得分:1)

为了使公式在XlsxWriter生成的文件中起作用,它必须在Excel中工作。

在这种情况下,条件公式公式在Excel中无效:

=ISNUMBER(MATCH(ROW(),{5,7,8,9,10,11,13},0))=TRUE

如果您在Excel中手动添加它,则会收到以下错误/警告:

  

"您不能将参考运算符(例如联合,交集和范围)或其他数组常量用于条件格式标准"。