use rust_xlsxwriter::{Table, TableColumn, Workbook, XlsxError};
fn main() -> Result<(), XlsxError> {
let mut workbook = Workbook::new();
let worksheet = workbook.add_worksheet();
let items = ["Apples", "Pears", "Bananas", "Oranges"];
let data = [
[10000, 5000, 8000, 6000],
[2000, 3000, 4000, 5000],
[6000, 6000, 6500, 6000],
[500, 300, 200, 700],
];
worksheet.write_column(3, 1, items)?;
worksheet.write_row_matrix(3, 2, data)?;
worksheet.set_column_range_width(1, 6, 12)?;
let columns = vec![
TableColumn::new().set_header("Product"),
TableColumn::new().set_header("Quarter 1"),
TableColumn::new().set_header("Quarter 2"),
TableColumn::new().set_header("Quarter 3"),
TableColumn::new().set_header("Quarter 4"),
];
let table = Table::new().set_columns(&columns);
worksheet.add_table(2, 1, 6, 5, &table)?;
workbook.save("tables.xlsx")?;
Ok(())
}