How to Add Picture to Table Cell in Word

When creating a word table, we may want to add some common elements such as text and pictures into it. In the sample given below, we will demonstrate how to add pictures to specified table cells in a word document using Spire.Doc for .NET.

Spire.Doc for .NET provides developers a class named TableCollection which contains a Tables property to help developers access specified table, and then add pictures to the table cells by invoking public DocPicture Paragraph.AppendPicture(Image image) method.

Detail steps and code snippets are as following:

Use namespace:

using System.Drawing;
using Spire.Doc;
using Spire.Doc.Fields;

Step 1: Initialize a new instance of Document class and load the sample word file.

Document document = new Document();
document.LoadFromFile("Sample.docx");

Step 2: Get the first table from the first section of the document.

Table table1 = (Table)document.Sections[0].Tables[0];

Step 3: Call the Paragraph.AppendPicture(Image image) method to add pictures to the specified table cells, then set width and height of the pictures.

DocPicture picture = table1.Rows[1].Cells[2].Paragraphs[0].AppendPicture(Image.FromFile("Pic1.png"));
picture.Width = 100;
picture.Height = 100;

picture = table1.Rows[2].Cells[2].Paragraphs[0].AppendPicture(Image.FromFile("Pic2.png"));
picture.Width = 100;
picture.Height = 100;

Step 4: Save and launch the file.

document.SaveToFile("Result.docx",FileFormat.docx2013);
System.Diagnostics.Process.Start("Result.docx");

Please see the result word table after adding pictures:

How to Add Picture to Table Cell in Word

Full codes:

[C#]
Document document = new Document();
document.LoadFromFile("Sample.docx");

Table table1 = (Table)document.Sections[0].Tables[0];

DocPicture picture = table1.Rows[1].Cells[2].Paragraphs[0].AppendPicture(Image.FromFile("Pic1.png"));
picture.Width = 100;
picture.Height = 100;
picture = table1.Rows[2].Cells[2].Paragraphs[0].AppendPicture(Image.FromFile("Pic2.png"));
picture.Width = 100;
picture.Height = 100;

document.SaveToFile("Result.docx");
System.Diagnostics.Process.Start("Result.docx");
[VB.NET]
Dim document As New Document()
document.LoadFromFile("Sample.docx")

Dim table1 As Table = DirectCast(document.Sections(0).Tables(0), Table)

Dim picture As DocPicture = table1.Rows(1).Cells(2).Paragraphs(0).AppendPicture(Image.FromFile("Pic1.png"))
picture.Width = 100
picture.Height = 100
picture = table1.Rows(2).Cells(2).Paragraphs(0).AppendPicture(Image.FromFile("Pic2.png"))
picture.Width = 100
picture.Height = 100

document.SaveToFile("Result.docx",FileFormat.docx2013);
System.Diagnostics.Process.Start("Result.docx")