hello_world/
hello_world.rs

1use edit_xlsx::{Format, FormatAlignType, FormatBorderType, FormatColor, Workbook, WorkbookResult, WorkSheet, Write};
2
3fn main() -> WorkbookResult<()> {
4    // Create a new workbook
5    let mut workbook = Workbook::new();
6    let worksheet = workbook.get_worksheet_mut(1)?;
7    // write some text
8    WorkSheet::write(worksheet, "A1", "Hello")?;
9    worksheet.write("B1", "World")?;
10    worksheet.write("C1", "Rust")?;
11    // Adjust font size
12    let big = Format::default().set_size(32);
13    worksheet.write_with_format("B1", "big text", &big)?;
14    // Change font color
15    let red = Format::default().set_color(FormatColor::RGB(255, 119, 119));
16    worksheet.write_with_format("C1", "red text", &red)?;
17    // Change the font style
18    let bold = red.set_bold();
19    worksheet.write_with_format("D1", "red bold text", &bold)?;
20    // Change font
21    let font = Format::default().set_font("华文行楷");
22    worksheet.write_with_format("E1", "你好", &font)?;
23    // adjust the text align
24    let left_top = Format::default().set_align(FormatAlignType::Left).set_align(FormatAlignType::Top);
25    worksheet.write_with_format("A2", "left top", &left_top)?;
26    // add borders
27    let thin_border = Format::default().set_border(FormatBorderType::Thin);
28    worksheet.write_with_format("B2", "bordered text", &thin_border)?;
29    // add background
30    let red_background = Format::default().set_background_color(FormatColor::RGB(255, 119, 119));
31    worksheet.write_with_format("C2", "red", &red_background)?;
32    // add a number
33    worksheet.write("D2", std::f64::consts::PI)?;
34    // add a new worksheet and set a tab color
35    let worksheet = workbook.add_worksheet_by_name("Other examples")?;
36    worksheet.set_tab_color(&FormatColor::RGB(255, 153, 0)); // Orange
37    // Set a background.
38    worksheet.set_background("examples/pics/ferris.png")?;
39    // Create a format to use in the merged range.
40    let merge_format = Format::default()
41        .set_bold()
42        .set_border(FormatBorderType::Double)
43        .set_align(FormatAlignType::Center)
44        .set_align(FormatAlignType::VerticalCenter)
45        .set_background_color(FormatColor::RGB(255, 255, 0));
46    // Merge cells.
47    worksheet.merge_range_with_format("A1:C3", "Merged Range", &merge_format)?;
48    // Add an image
49    worksheet.insert_image("A4:C10", &"./examples/pics/rust.png")?;
50    workbook.save_as("examples/hello_world.xlsx")?;
51    Ok(())
52}