use rust_xlsxwriter::{
ConditionalFormatCustomIcon, ConditionalFormatIconSet, ConditionalFormatIconType,
ConditionalFormatType, Workbook, XlsxError,
};
fn main() -> Result<(), XlsxError> {
let mut workbook = Workbook::new();
let worksheet = workbook.add_worksheet();
worksheet.write_row(1, 1, [1, 2, 3])?;
worksheet.write_row(2, 1, [1, 2, 3])?;
let conditional_format = ConditionalFormatIconSet::new()
.set_icon_type(ConditionalFormatIconType::ThreeTrafficLights);
worksheet.add_conditional_format(1, 1, 1, 3, &conditional_format)?;
let icons = [
ConditionalFormatCustomIcon::new().set_rule(ConditionalFormatType::Percent, 0),
ConditionalFormatCustomIcon::new()
.set_rule(ConditionalFormatType::Percent, 33)
.set_icon_type(ConditionalFormatIconType::FourHistograms, 0),
ConditionalFormatCustomIcon::new()
.set_rule(ConditionalFormatType::Percent, 67)
.set_icon_type(ConditionalFormatIconType::FiveBoxes, 4),
];
let conditional_format = ConditionalFormatIconSet::new()
.set_icon_type(ConditionalFormatIconType::ThreeTrafficLights)
.set_icons(&icons);
worksheet.add_conditional_format(2, 1, 2, 3, &conditional_format)?;
workbook.save("conditional_format.xlsx")?;
Ok(())
}