格式参数 选项是必需的参数,它没有默认值。允许的类型值及其相关参数是:
criteria
参数用于设置单元格数据的条件格式运算符。它没有默认值,同常与 {"type":"cell"}
一起使用,支持的参数为:
可以使用上面表格第一列中的 Office Excel 文本描述字符,或者符号表示方法(between
与 not between
没有符号表示法)作为条件格式运算符。下面的相关部分显示了其他条件格式类型的特定标准。
value
:该值通常与 criteria
参数一起使用,可以用确定的值作为设置单元格条件格式的条件参数:
f.SetConditionalFormat("Sheet1", "D1:D10", fmt.Sprintf(`[
{
"type": "cell",
"criteria": ">",
"format": %d,
"value": "6"
}]`, format))
value
属性也可以是单元格引用:
f.SetConditionalFormat("Sheet1", "D1:D10", fmt.Sprintf(`[
{
"type": "cell",
"criteria": ">",
"format": %d,
"value": "$C$1"
}]`, format))
类型:format
- format
参数用于指定满足条件格式标准时将应用于单元格的格式。该参数可以通过 NewConditionalStyle() 方法来创建:
format, err = f.NewConditionalStyle(`{
"font":
{
"color": "#9A0511"
},
"fill":
{
"type": "pattern",
"color": ["#FEC7CE"],
"pattern": 1
}
}`)
if err != nil {
fmt.Println(err)
}
f.SetConditionalFormat("Sheet1", "A1:A10", fmt.Sprintf(`[
{
"type": "cell",
"criteria": ">",
"format": %d,
"value": "6"
}]`, format))
注意:在 Office Excel 中,条件格式叠加在现有单元格格式上,并非所有单元格格式属性都可以修改。无法在条件格式中修改的属性包括:字体名称、字体大小、上标和下标、对角边框、所有对齐属性和所有保护属性。
Office Excel 中内置了一些与条件格式一起使用的默认样式。可以使用以下 excelize 设置实现这些样式效果:
// 浅红填充色深色文本代表较差
format1, err = f.NewConditionalStyle(`{
"font":
{
"color": "#9A0511"
},
"fill":
{
"type": "pattern",
"color": ["#FEC7CE"],
"pattern": 1
}
}`)
// 黄填充色深黄色文本代表一般
format2, err = f.NewConditionalStyle(`{
{
"color": "#9B5713"
},
"fill":
{
"type": "pattern",
"color": ["#FEEAA0"],
"pattern": 1
}
}`)
// 绿填充色深绿色文本代表较好
format3, err = f.NewConditionalStyle(`{
"font":
{
"color": "#09600B"
},
"fill":
{
"color": ["#C7EECF"],
"pattern": 1
}
}`)
类型:minimum
- 当条件格式 criteria
为 between
或 not between
时,minimum
参数用于设置下限值。
类型:maximum
- 当条件格式 criteria
为 between
或 not between
时,maximum
参数用于设置上限值,参考上面的例子。
// 最前最后规则:高于平均值...
f.SetConditionalFormat("Sheet1", "A1:A10", fmt.Sprintf(`[
{
"type": "average",
"criteria": "=",
"format": %d,
"above_average": true
}]`, format1))
// 最前最后规则:低于平均值...
f.SetConditionalFormat("Sheet1", "B1:B10", fmt.Sprintf(`[
{
"type": "average",
"criteria": "=",
"format": %d,
"above_average": false
}]`, format2))
类型:duplicate
- 用于设置“突出显示单元格规则”中的“重复值 …”:
// 突出显示单元格规则: 重复值...
f.SetConditionalFormat("Sheet1", "A1:A10", fmt.Sprintf(`[
{
"type": "duplicate",
"criteria": "=",
"format": %d
}]`, format))
类型:unique
- 用于设置“突出显示单元格规则”中“只为以下内容的单元格设置格式”的“特定文本”:
// 突出显示单元格规则,只为以下内容的单元格设置格式: 特定文本 不等于...
f.SetConditionalFormat("Sheet1", "A1:A10", fmt.Sprintf(`[
{
"type": "unique",
"format": %d
}]`, format))
类型:top
- 用于设置“最前最后规则”中的“前 10 项…”或“前 10% …”:
// 最前最后规则: 前 10 项...
f.SetConditionalFormat("Sheet1", "H1:H10", fmt.Sprintf(`[
{
"type": "top",
"criteria": "=",
"format": %d,
"value": "6"
}]`, format))
设置带有百分比条件的条件格式:
类型:2_color_scale
- 用于设置带有“双色刻度”的“色阶样式”条件格式:
// 色阶:双色刻度
f.SetConditionalFormat("Sheet1", "A1:A10", `[
{
"type": "2_color_scale",
"criteria": "=",
"min_type": "min",
"max_type": "max",
"min_color": "#F8696B",
"max_color": "#63BE7B"
}]`)
双色刻度色阶条件格式可选参数:min_type
、max_type
、min_value
、max_value
、min_color
和 max_color
。
类型:3_color_scale
- 用于设置带有“三色刻度”的“色阶样式”条件格式:
// 色阶:三色刻度
f.SetConditionalFormat("Sheet1", "A1:A10", `[
{
"type": "3_color_scale",
"criteria": "=",
"min_type": "min",
"max_type": "max",
"min_color": "#F8696B",
"mid_color": "#FFEB84",
"max_color": "#63BE7B"
}]`)
三色刻度色阶条件格式可选参数: min_type
、mid_type
、max_type
、min_value
、mid_value
、max_value
、min_color
、mid_color
和 max_color
。
类型:data_bar
- 用于设置“数据条”类型的条件格式。
min_type
- 参数 min_type
在条件格式类型为 2_color_scale
、3_color_scale
或 data_bar
时可用。参数 mid_type
在条件格式类型为 3_color_scale
时可用。例如:
// 数据条:渐变填充
f.SetConditionalFormat("Sheet1", "K1:K10", `[
{
"type": "data_bar",
"criteria": "=",
"min_type": "min",
"max_type": "max",
"bar_color": "#638EC6"
}]`)
mid_type
- 当条件格式类型为 3_color_scale
时使用,与 min_type
用法相同,参考上面的表格。
max_type
- 与 min_type
用法相同,参考上面的表格。
min_value
- 参数 min_value
和 max_value
在条件格式类型为 2_color_scale
、3_color_scale
或 data_bar
时可用。参数 mid_value
在条件格式类型为 3_color_scale
时可用。
mid_value
- 在条件格式类型为 3_color_scale
时可用,与 min_value
的用法相同,参考上述文档。
max_value
- 与 min_value
的用法相同,参考上述文档。
min_color
- 参数 min_color
和 max_color
在条件格式类型为 2_color_scale
、3_color_scale
或 data_bar
时可用。参数 mid_color
在条件格式类型为 3_color_scale
时可用。例如:
// 色阶:三色刻度
f.SetConditionalFormat("Sheet1", "B1:B10", `[
{
"type": "3_color_scale",
"criteria": "=",
"min_type": "min",
"mid_type": "percentile",
"max_type": "max",
"min_color": "#F8696B",
"mid_color": "#FFEB84",
"max_color": "#63BE7B"
mid_color
- 当条件格式类型为 3_color_scale
时使用。与 min_color
用法相同,参考上述文档。
max_color
- 与 min_color
用法相同,参考上述文档。
bar_color
- 当条件格式类型为 data_bar
时使用。与 min_color
用法相同,参考上述文档。
例如,为名为 Sheet1
的工作表中,通过设置条件格式高亮 区域单元格中的最大值与最小值: