Word控件Spire.Doc 【Table】教程(1):在 Word 中创建表格-C#VB.NET

一、安装适用于 .NET 的 Spire.Doc

首先,您需要添加包含在 Spire.Doc for.NET 包中的 DLL 文件作为您的 .NET 项目中的引用。DLL 文件可以从此链接下载或通过NuGet安装。

PM> Install-Package Spire.Doc

二、在 Word 中创建一个简单的表格

下面是 Spire.Doc for .NET 提供的一些核心类和方法,用于在 Word 中创建和格式化表格。

姓名 描述
表类 表示 Word 文档中的表格。
TableRow 类 代表表格中的一行。
TableCell 类 代表表格中的特定单元格。
Section.AddTbale() 方法 将新表添加到指定部分。
Table.ResetCells() 方法 重置行 和列 。
Table.Rows 属性 获取表行。
TableRow.Height 属性 设置指定行的高度。
TableRow.Cells 属性 返回单元格集合。
TableRow.RowFormat 属性 获取指定行的格式。

详细步骤如下

  • 创建一个Document对象并向其添加一个部分。
  • 准备表头行和其他行的数据,分别存储在一维字符串数组和二维字符串数组中。
  • 使用Section.AddTable()方法将表格添加到该部分。
  • 向标题行插入数据,并设置行格式,包括行高、背景颜色和文本对齐方式。
  • 将数据插入其余行并将格式应用于这些行。
  • 使用Document.SaveToFile()方法将文档保存到另一个文件。

【C#】

using System;using System.Drawing;using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;namespace WordTable{class Program{static void Main(string[] args){//Create a Document objectDocument doc = new Document();//Add a sectionSection s = doc.AddSection();//Define the data for the tableString[] Header = { "Date", "Description", "Country", "On Hands", "On Order" };String[][] data = {new String[]{ "08/07/2021","Dive kayak","United States","24","16"},new String[]{ "08/07/2021","Underwater Diver Vehicle","United States","5","3"},new String[]{ "08/07/2021","Regulator System","Czech Republic","165","216"},new String[]{ "08/08/2021","Second Stage Regulator","United States","98","88"},new String[]{ "08/08/2021","Personal Dive Sonar","United States","46","45"},new String[]{ "08/09/2021","Compass Console Mount","United States","211","300"},new String[]{ "08/09/2021","Regulator System","United Kingdom","166","100"},new String[]{ "08/10/2021","Alternate Inflation Regulator","United Kingdom","47","43"},};//Add a tableTable table = s.AddTable(true);table.ResetCells(data.Length + 1, Header.Length);//Set the first row as table headerTableRow FRow = table.Rows[0];FRow.IsHeader = true;//Set the height and color of the first rowFRow.Height = 23;FRow.RowFormat.BackColor = Color.LightSeaGreen;for (int i = 0; i < Header.Length; i++){//Set alignment for cellsParagraph p = FRow.Cells[i].AddParagraph();FRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;p.Format.HorizontalAlignment = HorizontalAlignment.Center;//Set data formatTextRange TR = p.AppendText(Header[i]);TR.CharacterFormat.FontName = "Calibri";TR.CharacterFormat.FontSize = 12;TR.CharacterFormat.Bold = true;}//Add data to the rest of rows and set cell formatfor (int r = 0; r < data.Length; r++){TableRow DataRow = table.Rows[r + 1];DataRow.Height = 20;for (int c = 0; c < data[r].Length; c++){DataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle;Paragraph p2 = DataRow.Cells[c].AddParagraph();TextRange TR2 = p2.AppendText(data[r][c]);p2.Format.HorizontalAlignment = HorizontalAlignment.Center;//Set data formatTR2.CharacterFormat.FontName = "Calibri";TR2.CharacterFormat.FontSize = 11;}}//Save the documentdoc.SaveToFile("WordTable.docx", FileFormat.Docx2013);}}}

【VB.NET】

Imports SystemImports System.DrawingImports Spire.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsNamespace WordTableClass ProgramPrivate Shared Sub Main(ByVal args() As String)'Create a Document objectDim doc As Document = New Document'Add a sectionDim s As Section = doc.AddSection'Define the data for the tableDim Header() As String = New String() {"Date", "Description", "Country", "On Hands", "On Order"}Dim data(,) As String = New String() {New String() {"08/07/2021", "Dive kayak", "United States", "24", "16"}, New String() {"08/07/2021", "Underwater Diver Vehicle", "United States", "5", "3"}, New String() {"08/07/2021", "Regulator System", "Czech Republic", "165", "216"}, New String() {"08/08/2021", "Second Stage Regulator", "United States", "98", "88"}, New String() {"08/08/2021", "Personal Dive Sonar", "United States", "46", "45"}, New String() {"08/09/2021", "Compass Console Mount", "United States", "211", "300"}, New String() {"08/09/2021", "Regulator System", "United Kingdom", "166", "100"}, New String() {"08/10/2021", "Alternate Inflation Regulator", "United Kingdom", "47", "43"}}'Add a tableDim table As Table = s.AddTable(true)table.ResetCells((data.Length + 1), Header.Length)'Set the first row as table headerDim FRow As TableRow = table.Rows(0)FRow.IsHeader = true'Set the height and color of the first rowFRow.Height = 23FRow.RowFormat.BackColor = Color.LightSeaGreenDim i As Integer = 0Do While (i < Header.Length)'Set alignment for cellsDim p As Paragraph = FRow.Cells(i).AddParagraphFRow.Cells(i).CellFormat.VerticalAlignment = VerticalAlignment.Middlep.Format.HorizontalAlignment = HorizontalAlignment.Center'Set data formatDim TR As TextRange = p.AppendText(Header(i))TR.CharacterFormat.FontName = "Calibri"TR.CharacterFormat.FontSize = 12TR.CharacterFormat.Bold = truei = (i + 1)Loop'Add data to the rest of rows and set cell formatDim r As Integer = 0Do While (r < data.Length)Dim DataRow As TableRow = table.Rows((r + 1))DataRow.Height = 20Dim c As Integer = 0Do While (c < data(r).Length)DataRow.Cells(c).CellFormat.VerticalAlignment = VerticalAlignment.MiddleDim p2 As Paragraph = DataRow.Cells(c).AddParagraphDim TR2 As TextRange = p2.AppendText(data(r)(c))p2.Format.HorizontalAlignment = HorizontalAlignment.Center'Set data formatTR2.CharacterFormat.FontName = "Calibri"TR2.CharacterFormat.FontSize = 11c = (c + 1)Loopr = (r + 1)Loop'Save the documentdoc.SaveToFile("WordTable.docx", FileFormat.Docx2013)End SubEnd ClassEnd Namespace

C#/VB.NET: Create a Table in Word

以上便在C#/VB.NET:在 Word 中创建表格,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。


欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询在线客服  


标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月12日
下一篇 2022年11月12日

相关推荐

发表回复

登录后才能评论