doc_custom_properties/
doc_custom_properties.rs

1//! A simple program to write some data to an Excel file.
2
3use chrono::{TimeZone, Utc};
4use karo::{col_range, index, Workbook};
5
6fn main() -> karo::Result<()> {
7    // Create a new workbook.
8    let mut workbook = Workbook::new();
9
10    let datetime = Utc.ymd(2016, 12, 12).and_hms(0, 0, 0);
11    workbook.set_custom_property_str("Checked by", "Eve")?;
12    workbook.set_custom_property_datetime("Date completed", datetime)?;
13    workbook.set_custom_property_integer("Document number", 12345)?;
14    workbook.set_custom_property_number("Reference number", 1.2345)?;
15    workbook.set_custom_property_boolean("Has review", true)?;
16    workbook.set_custom_property_boolean("Signed off", false)?;
17
18    {
19        // Add a worksheet with a user defined name.
20        let worksheet = workbook.add_worksheet(None)?;
21
22        // Widen the first column to make the text clearer.
23        worksheet.set_column(col_range(0, 0)?, 50f64, None)?;
24
25        worksheet.write_string(
26            index(0, 0)?,
27            "Select 'Workbook Properties' to see properties.",
28            None,
29        )?;
30    }
31
32    workbook.write_file("doc_custom_properties.xlsx")?;
33
34    Ok(())
35}