tutorial1/
tutorial1.rs

1//! A simple program to write some data to an Excel file.
2
3use karo::{index, Workbook};
4
5struct Expense {
6    item: &'static str,
7    cost: f64,
8}
9
10fn main() -> karo::Result<()> {
11    let expenses = [
12        Expense {
13            item: "Rent",
14            cost: 1000f64,
15        },
16        Expense {
17            item: "Gas",
18            cost: 100f64,
19        },
20        Expense {
21            item: "Food",
22            cost: 300f64,
23        },
24        Expense {
25            item: "Gym",
26            cost: 50f64,
27        },
28    ];
29
30    // Create a new workbook.
31    let mut workbook = Workbook::new();
32
33    {
34        // Add a worksheet with a user defined name.
35        let worksheet = workbook.add_worksheet(None)?;
36
37        let mut row = 0u32;
38        for Expense { item, cost } in expenses.iter() {
39            worksheet.write_string(index(row, 0)?, item, None)?;
40            worksheet.write_number(index(row, 1)?, *cost, None)?;
41            row += 1;
42        }
43
44        worksheet.write_string(index(row, 0)?, "Total", None)?;
45        worksheet.write_formula(index(row, 1)?, "=SUM(B1:B4)", None)?;
46    }
47
48    workbook.write_file("tutorial01.xlsx")?;
49
50    Ok(())
51}