将条件格式应用于 openpyxl 中的非连续选择

kin*_*gds 1 python excel openpyxl

在 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)
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用范围字符串来选择使用普通 Excel 表示法的非连续区域,例如:

range_string = "A1:D10,A20:D30"
Run Code Online (Sandbox Code Playgroud)

那么格式不会被应用,单元格保持未格式化。

有谁知道如何做到这一点?

小智 5

使用空格代替逗号作为分隔符。

range_string = "A1:D10 A20:D30"
Run Code Online (Sandbox Code Playgroud)

这与 XML 中使用的格式相同,但与 Excel 本身的格式不同,因此存在混淆。