merge/
merge.rs

1use edit_xlsx::{Format, Workbook, WorkbookResult, FormatColor, FormatAlignType, WorkSheetCol, Write, WorkSheetRow, FormatBorderType};
2
3fn main() -> WorkbookResult<()> {
4    let mut workbook = Workbook::new();
5    let worksheet = workbook.get_worksheet_mut(1)?;
6
7    // Increase the cell size of the merged cells to highlight the formatting.
8    worksheet.set_columns_width("B:D", 18.0)?;
9    worksheet.set_row_height(4, 40.0)?;
10    worksheet.set_row_height(7, 30.0)?;
11    worksheet.set_row_height(8, 30.0)?;
12
13    // Create a format to use in the merged range.
14    let merge_format = Format::default()
15        .set_bold()
16        .set_border(FormatBorderType::Double)
17        .set_align(FormatAlignType::Center)
18        .set_align(FormatAlignType::VerticalCenter)
19        .set_background_color(FormatColor::RGB(255, 255, 0));
20
21    // Merge 3 cells.
22    worksheet.merge_range_with_format("B4:D4", "Merged Range", &merge_format)?;
23    // Merge 3 cells over two rows.
24    worksheet.merge_range_with_format("B7:D8", "Merged Range", &merge_format)?;
25
26    workbook.save_as("examples/merge.xlsx")?;
27    Ok(())
28}