How to Set Word Table Column Width

By using Spire.Doc, developers can create Word document with a table inside (Click to learn how to create table in Word document). But when users create table in Word document, they would not only create table with blank cells. They need set formats or sometimes set table size like column width. This article will show you how to set Word table column width.

Make sure Spire.Doc and Visual Studio are correctly installed on system. Follow the simple steps below to set Word table column width.

Step 1: Create a C# windows form application in Visual Studio. Add Spire.Doc.dll as reference. The default setting of Spire.Doc.dll is placed under "C:\Program Files\e-iceblue\Spire.Doc\Bin". Select assembly Spire.Doc.dll and click OK to add it to the project.

[C#]
using System;
using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;

namespace TableWidth
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
        }
    }
}
[VB.NET]
Imports Spire.Doc
Imports Spire.Doc.Fields
Imports Spire.Doc.Documents

Namespace TableWidth
	Public Partial Class Form1
		Inherits Form
		Public Sub New()
			InitializeComponent()
		End Sub
		Private Sub button1_Click(sender As Object, e As EventArgs)
		End Sub
	End Class
End Namespace

Step 2: Put the word document with table into the project folder. Use the following code to load it into project.

[C#]
Document doc = new Document();
            doc.LoadFromFile(@"..\..\Table.docx",FileFormat.Docx);
[VB.NET]
Dim doc As New Document()
doc.LoadFromFile("..\..\Table.docx", FileFormat.Docx)

Step 3: Because Spire.Doc doesn't have a direct method to set column width, we need set the first cell width of in each row.

[C#]
            for (int i = 0; i < document.Sections[0].Tables[0].Rows.Count; i++)
            {
                document.Sections[0].Tables[0].Rows[i].Cells[0].Width = 20;
            }
[VB.NET]
For i As Integer = 0 To document.Sections(0).Tables(0).Rows.Count - 1
	document.Sections(0).Tables(0).Rows(i).Cells(0).Width = 20
Next

Step 4: Save and Preview.

[C#]
document.SaveToFile(@"..\..\Sample.docx",FileFormat.Docx);
          
[VB.NET]
document.SaveToFile("..\..\Sample.docx", FileFormat.Docx)
System.Diagnostics.Process.Start("..\..\Test.pdf")

Now, the whole process is finished. Press F5 and click the button to run the project. The generated docx file can be found at the project debug folder. Check the effect.

Before Setting Width:

Word Table Column Width

After Setting Width:

Word Table Column Width

As a professional and powerful Word component, Spire.Doc doesn't need Microsoft Office Word Automation but also allows user to directly operate Word document, format and style and insert content to Word document.Click to learn more feature functions of Spire.Doc