use rust_xlsxwriter::{Chart, ChartFormat, ChartPoint, ChartSolidFill, Workbook, XlsxError};
fn main() -> Result<(), XlsxError> {
let mut workbook = Workbook::new();
let worksheet = workbook.add_worksheet();
worksheet.write(0, 0, 15)?;
worksheet.write(1, 0, 15)?;
worksheet.write(2, 0, 30)?;
let points = vec![
ChartPoint::new().set_format(
ChartFormat::new().set_solid_fill(ChartSolidFill::new().set_color("#FF0000")),
),
ChartPoint::new().set_format(
ChartFormat::new().set_solid_fill(ChartSolidFill::new().set_color("#FFC000")),
),
ChartPoint::new().set_format(
ChartFormat::new().set_solid_fill(ChartSolidFill::new().set_color("#FFFF00")),
),
];
let mut chart = Chart::new_pie();
chart
.add_series()
.set_values("Sheet1!$A$1:$A$3")
.set_points(&points);
worksheet.insert_chart(0, 2, &chart)?;
workbook.save("chart.xlsx")?;
Ok(())
}