defined_name/
defined_name.rs

1use edit_xlsx::{WorkSheetCol, Format, FormatColor, Workbook, WorkbookResult, WorkSheet, WorkSheetResult, Write};
2
3fn main() -> WorkbookResult<()> {
4    // Create a new workbook
5    let mut workbook = Workbook::new();
6    workbook.add_worksheet()?;
7
8    // Define some global/workbook names.
9    workbook.define_name("Exchange_rate", "0.96")?;
10    workbook.define_name("Sales", "Sheet1!$G$1:$H$10")?;
11    // Define a local/worksheet name. Over-rides the "Sales" name above.
12    workbook.define_local_name("Sales", "Sheet2!$G$1:$G$10", 2)?;
13
14    // Write some text in the file and one of the defined names in a formula.
15    let sales = ["Apple", "Grape", "Pear", "Banana", "Apple", "Grape", "Pear", "Banana", "Banana", "Pear"];
16    let units = [10, 12, 32, 16, 13, 50, 25, 8, 33, 95];
17    for worksheet in workbook.worksheets_mut() {
18        worksheet.set_columns_width("A:B", 40.0)?;
19        worksheet.set_columns_width("F:F", 40.0)?;
20        worksheet.write("A1", "This worksheet contains some defined names.")?;
21        worksheet.write("B1", "Show defined name Sales on the right->")?;
22        worksheet.write_formula("C1", "=Sales")?;
23        // In older versions of Excel, you could use the write_old_formula method:
24        // worksheet.write_old_formula("C1", "=Sales")?;
25        worksheet.write("A2", "See Formulas -> Name Manager above.")?;
26        worksheet.write("A3", "Example formula in cell B3 ->")?;
27        worksheet.write_formula("B3", "=Exchange_rate")?;
28        // In older versions of Excel, you could use the write_old_formula method:
29        // worksheet.write_old_formula("B3", "=Exchange_rate")?;
30        worksheet.write("F1", "Fill in some arrays on the right->")?;
31        worksheet.write_column("G1", &sales)?;
32        worksheet.write_column("H1", &units)?;
33    }
34
35    workbook.save_as("examples/defined_name.xlsx")?;
36    Ok(())
37}