在Excel中,我可以在电子表格上进行多项选择,并使用条件格式来应用包含我所有选择的色标。
使用openpyxl,为了应用条件格式,我需要一个范围字符串:
rule = ColorScaleRule(start_type="min", start_color="FFFFFF",
end_type="max", end_color="247CBD")
range_string = "A1:D10"
worksheet.conditional_formatting.add(range_string, rule)
如果我尝试使用范围字符串使用常规Excel表示法选择非连续区域,例如:
range_string = "A1:D10,A20:D30"
然后格式没有被应用,单元格保持未格式化。
有谁知道如何做到这一点?
答案 0 :(得分:3)
使用空格作为分隔符而不是逗号。
range_string = "A1:D10 A20:D30"
这与XML中使用的格式相同,但与Excel本身不同,因此存在混淆。
答案 1 :(得分:0)
最简单的方法是将格式应用于不同的范围:
worksheet.conditional_formatting.add("A1:D10", rule)
worksheet.conditional_formatting.add("A20:D30, rule)
我从未在源文件中看到过不连续的范围,因此我怀疑这是Excel在传递多个范围时的作用。