概述
文本讲述通过C#和VB.NET程序代码给Word中的表格设置边框的方法,可分为给Table表格设置边框、给表格中的指定Cell设置边框,设置边框时,可设置边框颜色、边框类型、边框线条样式、边框线条粗细等等。
工具导入
编辑代码前,先下载需要的Word类库工具,本文中使用的是Spire的免费版库Free Spire.Doc for .NET。下载后,需要解压安装。在VS程序中将安装路径下Bin文件下的Spire.Doc.dll文件添加引用到“解决方案资源管理器”,如下添加引用结果:
代码示例
1. 设置Table边框
[C#]
using Spire.Doc;
using System.Drawing;
namespace SetTableBorder_Doc
{
class Program
{
static void Main(string[] args)
{
//加载Word文档
Document doc = new Document();
doc.LoadFromFile("test.docx");
//获取Section
Section section = doc.Sections[0];
//获取第一个表格
Table table = section.Tables[0] as Table;
//设置上边框
table.TableFormat.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.DotDash;
table.TableFormat.Borders.Top.LineWidth = 2.0F;
table.TableFormat.Borders.Top.Color = Color.Red;
//设置右边框
table.TableFormat.Borders.Right.BorderType = Spire.Doc.Documents.BorderStyle.Double;
table.TableFormat.Borders.Right.LineWidth = 2.0F;
table.TableFormat.Borders.Right.Color = Color.Green;
//设置下边框
table.TableFormat.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.None;
//设置左边框
table.TableFormat.Borders.Left.BorderType = Spire.Doc.Documents.BorderStyle.Hairline;
table.TableFormat.Borders.Left.LineWidth = 2.0F;
table.TableFormat.Borders.Left.Color = Color.Blue;
//设置垂直边框
table.TableFormat.Borders.Vertical.BorderType = Spire.Doc.Documents.BorderStyle.Dot;
table.TableFormat.Borders.Vertical.LineWidth = 2.0F;
table.TableFormat.Borders.Vertical.Color = Color.Orange;
//设置水平边框
table.TableFormat.Borders.Horizontal.BorderType = Spire.Doc.Documents.BorderStyle.Wave;
table.TableFormat.Borders.Horizontal.LineWidth = 2.0F;
table.TableFormat.Borders.Horizontal.Color = Color.Purple;
//保存文档
doc.SaveToFile("SetTableBorder.docx",FileFormat.Docx2013);
System.Diagnostics.Process.Start("SetTableBorder.docx");
}
}
}
Imports Spire.Doc
Imports System.Drawing
Namespace SetTableBorder_Doc
Class Program
Private Shared Sub Main(args As String())
'加载Word文档
Dim doc As New Document()
doc.LoadFromFile("test.docx")
'获取Section
Dim section As Section = doc.Sections(0)
'获取第一个表格
Dim table As Table = TryCast(section.Tables(0), Table)
'设置上边框
table.TableFormat.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.DotDash
table.TableFormat.Borders.Top.LineWidth = 2F
table.TableFormat.Borders.Top.Color = Color.Red
'设置右边框
table.TableFormat.Borders.Right.BorderType = Spire.Doc.Documents.BorderStyle.[Double]
table.TableFormat.Borders.Right.LineWidth = 2F
table.TableFormat.Borders.Right.Color = Color.Green
'设置下边框
table.TableFormat.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.None
'设置左边框
table.TableFormat.Borders.Left.BorderType = Spire.Doc.Documents.BorderStyle.Hairline
table.TableFormat.Borders.Left.LineWidth = 2F
table.TableFormat.Borders.Left.Color = Color.Blue
'设置垂直边框
table.TableFormat.Borders.Vertical.BorderType = Spire.Doc.Documents.BorderStyle.Dot
table.TableFormat.Borders.Vertical.LineWidth = 2F
table.TableFormat.Borders.Vertical.Color = Color.Orange
'设置水平边框
table.TableFormat.Borders.Horizontal.BorderType = Spire.Doc.Documents.BorderStyle.Wave
table.TableFormat.Borders.Horizontal.LineWidth = 2F
table.TableFormat.Borders.Horizontal.Color = Color.Purple
'保存文档
doc.SaveToFile("SetTableBorder.docx", FileFormat.Docx2013)
System.Diagnostics.Process.Start("SetTableBorder.docx")
End Sub
End Class
End Namespace
2. 设置Cell边框
[C#]
using Spire.Doc;
using System.Drawing;
namespace SetCellBorder_Doc
{
class Program
{
static void Main(string[] args)
{
//加载Word文档
Document doc = new Document();
doc.LoadFromFile("test.docx");
//获取Section
Section section = doc.Sections[0];
//获取第一个表格
Table table = section.Tables[0] as Table;
//获取单元格,设置上、下边框
TableCell cell1 = table[0, 0];
cell1.CellFormat.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.Single;
cell1.CellFormat.Borders.Top.LineWidth = 2.0F;
cell1.CellFormat.Borders.Top.Color = Color.Red;
cell1.CellFormat.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.DashDotStroker;
cell1.CellFormat.Borders.Bottom.LineWidth = 2.0F;
cell1.CellFormat.Borders.Bottom.Color = Color.Pink;
//获取单元格,设置左、右边框
TableCell cell2 = table[2, 2];
cell2.CellFormat.Borders.Left.BorderType = Spire.Doc.Documents.BorderStyle.Hairline;
cell2.CellFormat.Borders.Left.LineWidth = 2.0F;
cell2.CellFormat.Borders.Left.Color = Color.Yellow;
cell2.CellFormat.Borders.Right.BorderType = Spire.Doc.Documents.BorderStyle.Double;
cell2.CellFormat.Borders.Right.LineWidth = 2.0F;
cell2.CellFormat.Borders.Right.Color = Color.HotPink;
//保存文档
doc.SaveToFile("SetCellBorder.docx",FileFormat.Docx2013);
System.Diagnostics.Process.Start("SetCellBorder.docx");
}
}
}
Imports Spire.Doc
Imports System.Drawing
Namespace SetCellBorder_Doc
Class Program
Private Shared Sub Main(args As String())
'加载Word文档
Dim doc As New Document()
doc.LoadFromFile("test.docx")
'获取Section
Dim section As Section = doc.Sections(0)
'获取第一个表格
Dim table As Table = TryCast(section.Tables(0), Table)
'获取单元格,设置上、下边框
Dim cell1 As TableCell = table(0, 0)
cell1.CellFormat.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.[Single]
cell1.CellFormat.Borders.Top.LineWidth = 2F
cell1.CellFormat.Borders.Top.Color = Color.Red
cell1.CellFormat.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.DashDotStroker
cell1.CellFormat.Borders.Bottom.LineWidth = 2F
cell1.CellFormat.Borders.Bottom.Color = Color.Pink
'获取单元格,设置左、右边框
Dim cell2 As TableCell = table(2, 2)
cell2.CellFormat.Borders.Left.BorderType = Spire.Doc.Documents.BorderStyle.Hairline
cell2.CellFormat.Borders.Left.LineWidth = 2F
cell2.CellFormat.Borders.Left.Color = Color.Yellow
cell2.CellFormat.Borders.Right.BorderType = Spire.Doc.Documents.BorderStyle.[Double]
cell2.CellFormat.Borders.Right.LineWidth = 2F
cell2.CellFormat.Borders.Right.Color = Color.HotPink
'保存文档
doc.SaveToFile("SetCellBorder.docx", FileFormat.Docx2013)
System.Diagnostics.Process.Start("SetCellBorder.docx")
End Sub
End Class
End Namespace