Create and inserting Tables into documents is easy with DocX.
- // Create a document.
- using (DocX document = DocX.Create(@"Test.docx"))
- {
- // Add a Table to this document.
- Table t = document.AddTable(2, 3);
- // Specify some properties for this Table.
- t.Alignment = Alignment.center;
- t.Design = TableDesign.MediumGrid1Accent2;
- // Add content to this Table.
- t.Rows[0].Cells[0].Paragraphs.First().Append("A");
- t.Rows[0].Cells[1].Paragraphs.First().Append("B");
- t.Rows[0].Cells[2].Paragraphs.First().Append("C");
- t.Rows[1].Cells[0].Paragraphs.First().Append("D");
- t.Rows[1].Cells[1].Paragraphs.First().Append("E");
- t.Rows[1].Cells[2].Paragraphs.First().Append("F");
- // Insert the Table into the document.
- document.InsertTable(t);
- document.Save();
- }// Release this document from memory.
The above code will creates a document that looks like the below image.
Paragraphs inside Table Cells can of course contain content such as Images, Hyperlinks and custom text styles as in the below example.
- // Create a document.
- using (DocX document = DocX.Create(@"Test.docx"))
- {
- // Add a Table to this document.
- Table table = document.AddTable(2, 3);
- // Add a Hyperlink into this document.
- Hyperlink h = document.AddHyperlink("Google", new Uri("http://www.google.com"));
- // Add an Image into this document.
- Novacode.Image i = document.AddImage(@"Logo.png");
- // Create a Picture (Custom View) of this Image.
- Picture p = i.CreatePicture();
- p.Rotation = 10;
- // Specify some properties for this Table.
- table.Alignment = Alignment.center;
- table.Design = TableDesign.LightShadingAccent2;
- // Insert the Table into the document.
- Table t1 = document.InsertTable(table);
- // Add content to this Table.
- t1.Rows[0].Cells[0].Paragraphs.First().AppendHyperlink(h).Append(" is my favourite search engine.");
- t1.Rows[0].Cells[1].Paragraphs.First().Append("This text is bold.").Bold();
- t1.Rows[0].Cells[2].Paragraphs.First().Append("Underlined").UnderlineStyle(UnderlineStyle.singleLine);
- t1.Rows[1].Cells[0].Paragraphs.First().Append("Green").Color(Color.Green);
- t1.Rows[1].Cells[1].Paragraphs.First().Append("Right to Left").Direction = Direction.RightToLeft;
- t1.Rows[1].Cells[2].Paragraphs.First().AppendPicture(p);
- document.Save();
- }// Release this document from memory.
The above code will creates a document that looks like the below image.
Happy coding,
Cathal






