docx-rs/docx-core/examples/table.rs

44 lines
1.5 KiB
Rust
Raw Normal View History

use docx_rs::*;
2020-01-24 11:50:16 +02:00
pub fn main() -> Result<(), DocxError> {
let path = std::path::Path::new("./table.docx");
let file = std::fs::File::create(&path).unwrap();
let table = Table::new(vec![
TableRow::new(vec![
TableCell::new()
.add_paragraph(Paragraph::new())
2021-03-23 05:08:19 +02:00
.grid_span(2)
.shading(Shading::new().fill("FF0000")),
2020-01-24 11:50:16 +02:00
TableCell::new()
.add_paragraph(Paragraph::new().add_run(Run::new().add_text("Hello")))
.vertical_align(VAlignType::Center)
.vertical_merge(VMergeType::Restart)
.text_direction(TextDirectionType::TbRlV),
2020-01-24 11:50:16 +02:00
]),
TableRow::new(vec![
TableCell::new()
.add_paragraph(Paragraph::new())
.vertical_merge(VMergeType::Restart),
TableCell::new().add_paragraph(Paragraph::new()),
TableCell::new()
.add_paragraph(Paragraph::new())
.vertical_merge(VMergeType::Continue),
]),
TableRow::new(vec![
TableCell::new()
.add_paragraph(Paragraph::new())
.vertical_merge(VMergeType::Continue),
TableCell::new().add_paragraph(Paragraph::new()),
TableCell::new()
.add_paragraph(Paragraph::new())
.vertical_merge(VMergeType::Continue),
]),
])
.set_grid(vec![2000, 2000, 2000])
2021-03-23 05:08:19 +02:00
.layout(TableLayoutType::Fixed)
.indent(1000);
2020-01-24 11:50:16 +02:00
Docx::new().add_table(table).build().pack(file)?;
Ok(())
}