Tables are a powerful formatting tool in Word, allowing you to organize and present data effectively. However, the default table borders may not always align with your document's style and purpose. By selectively changing or removing the borders, you can achieve a variety of visual effects to suit your requirements. In this article, we will explore how to change and remove borders for tables in Word documents in Python using Spire.Doc for Python.
Install Spire.Doc for Python
This scenario requires Spire.Doc for Python. It can be easily installed in your Windows through the following pip command.
pip install Spire.Doc
If you are unsure how to install, please refer to this tutorial: How to Install Spire.Doc for Python on Windows
Change Borders for a Table in Word in Python
Spire.Doc for Python empowers you to retrieve the borders collection of a table by using the Table.TableFormat.Borders property. Once retrieved, you can access individual borders (like top border, bottom border, left border, right border, horizontal border, and vertical border) from the collection and then modify them by adjusting their line style, width, and color. The detailed steps are as follows.
- Create an object of the Document class.
- Load a Word document using Document.LoadFromFile() method.
- Get a specific section using Document.Sections[index] property.
- Get a specific table using Section.Tables[index] property.
- Get the borders collection of the table using Table.TableFormat.Borders property.
- Get an individual border, such as the top border from the borders collection using Borders.Top property, and then change its line style, width and color.
- Refer to the above step to get other individual borders from the borders collection, and then change their line style, width and color.
- Save the resulting document using Document.SaveToFile() method.
- Python
from spire.doc import * from spire.doc.common import * # Create an object of the Document class document = Document() # Load a Word document document.LoadFromFile("Table.docx") # Add a section to the document section = document.Sections[0] # Get the first table in the section table = section.Tables[0] if isinstance(section.Tables[0], Table) else None # Get the collection of the borders borders = table.TableFormat.Borders # Get the top border and change border style, line width, and color topBorder = borders.Top topBorder.BorderType = BorderStyle.Single topBorder.LineWidth = 1.0 topBorder.Color = Color.get_YellowGreen() # Get the left border and change border style, line width, and color leftBorder = borders.Left leftBorder.BorderType = BorderStyle.Single leftBorder.LineWidth = 1.0 leftBorder.Color = Color.get_YellowGreen() # Get the right border and change border style, line width, and color rightBorder = borders.Right rightBorder.BorderType = BorderStyle.Single rightBorder.LineWidth = 1.0 rightBorder.Color = Color.get_YellowGreen() # Get the bottom border and change border style, line width, and color bottomBorder = borders.Bottom bottomBorder.BorderType = BorderStyle.Single bottomBorder.LineWidth = 1.0 bottomBorder.Color = Color.get_YellowGreen() # Get the horizontal border and change border style, line width, and color horizontalBorder = borders.Horizontal horizontalBorder.BorderType = BorderStyle.Dot horizontalBorder.LineWidth = 1.0 horizontalBorder.Color = Color.get_Orange() # Get the vertical border and change border style, line width, and color verticalBorder = borders.Vertical verticalBorder.BorderType = BorderStyle.Dot verticalBorder.LineWidth = 1.0 verticalBorder.Color = Color.get_CornflowerBlue() # Save the resulting document document.SaveToFile("ChangeBorders.docx", FileFormat.Docx2013) document.Close()
Remove Borders from a Table in Word in Python
To remove borders from a table, you need to set the BorderType property of the borders to BorderStyle.none. The detailed steps are as follows.
- Create an object of the Document class.
- Load a Word document using Document.LoadFromFile() method.
- Get a specific section using Document.Sections[index] property.
- Get a specific table using Section.Tables[index] property.
- Get the borders collection of the table using Table.TableFormat.Borders property.
- Get an individual border, such as the top border from the borders collection using Borders.Top property. Then set the BorderType property of the top border to BorderStyle.none.
- Refer to the above step to get other individual borders from the borders collection and then set the BorderType property of the borders to BorderStyle.none.
- Save the resulting document using Document.SaveToFile() method.
- Python
from spire.doc import * from spire.doc.common import * # Initialize an instance of the Document class document = Document() document.LoadFromFile("ChangeBorders.docx") # Add a section to the document section = document.Sections[0] # Get the first table in the section table = section.Tables[0] if isinstance(section.Tables[0], Table) else None # Get the borders collection of the table borders = table.TableFormat.Borders # Remove top border topBorder = borders.Top topBorder.BorderType = BorderStyle.none # Remove left border leftBorder = borders.Left leftBorder.BorderType = BorderStyle.none # Remove right border rightBorder = borders.Right rightBorder.BorderType = BorderStyle.none # Remove bottom border bottomBorder = borders.Bottom bottomBorder.BorderType = BorderStyle.none # remove inside horizontal border horizontalBorder = borders.Horizontal horizontalBorder.BorderType = BorderStyle.none # Remove inside vertical border verticalBorder = borders.Vertical verticalBorder.BorderType = BorderStyle.none # Save the resulting document document.SaveToFile("RemoveBorders.docx", FileFormat.Docx2013) document.Close()
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.