use rust_xlsxwriter::{
ConditionalFormatDataBar, ConditionalFormatDataBarDirection, Workbook, XlsxError,
};
fn main() -> Result<(), XlsxError> {
let mut workbook = Workbook::new();
let worksheet = workbook.add_worksheet();
worksheet.write(1, 1, "Default")?;
worksheet.write(1, 3, "Default negative")?;
worksheet.write(1, 5, "User color")?;
worksheet.write(1, 7, "Changed direction")?;
let data1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let data2 = [6, 4, 2, -2, -4, -6, -4, -2, 2, 4];
worksheet.write_column(2, 1, data1)?;
worksheet.write_column(2, 3, data2)?;
worksheet.write_column(2, 5, data1)?;
worksheet.write_column(2, 7, data1)?;
let conditional_format = ConditionalFormatDataBar::new();
worksheet.add_conditional_format(2, 1, 11, 1, &conditional_format)?;
let conditional_format = ConditionalFormatDataBar::new();
worksheet.add_conditional_format(2, 3, 11, 3, &conditional_format)?;
let conditional_format = ConditionalFormatDataBar::new().set_fill_color("009933");
worksheet.add_conditional_format(2, 5, 11, 5, &conditional_format)?;
let conditional_format = ConditionalFormatDataBar::new()
.set_direction(ConditionalFormatDataBarDirection::RightToLeft);
worksheet.add_conditional_format(2, 7, 11, 7, &conditional_format)?;
workbook.save("conditional_format.xlsx")?;
Ok(())
}