C#/VB.NET设置Word表格边框
此经验内容分享通过C#和VB.NET程序代码给Word中的表格设置边框的方法,可分为给Table表格设置边框、给表格中的指定Cell设置边框,设置边框时,可设置边框颜色、边框类型、边框线条样式、边框线条粗细等等
工具/原料
Free Spire.Doc for .NET(免费版)
Visual Studio
dll文件获取及导入:
1、通过E-iceblue中文官网下载工具包。下载后解压文件,安装。完成安装后,将安装路径下Bin文件夹下的dll文件在VS中的资源管理器中添加引用。或者在Nuget网站搜索下载导入。最终引用效果如下:
1. 给Table设置边框
1、C#:using Spire.Doc;u衡痕贤伎sing 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"); } }}表格边框设置结果:
2、VB.NET:Imports Spire.DocImports System.DrawingNamespace 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 ClassEnd Namespace
2. 设置Cell边框
1、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"); } }}单元格边框设置结果:
2、VB.NET:Imports Spire.DocImports System.DrawingNamespace 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 ClassEnd Namespace