Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。
Spire.Doc for.NET 最新下载(qun:767755948)https://www.evget.com/product/3368/download
在 MS Word 中,表格可以按行和列组织和呈现数据,这使得信息更易于理解和分析。在本文中,您将了解如何使用Spire.Doc for .NET以编程方式在 Word 文档中创建包含数据的表格。
一、安装适用于 .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 object Document doc = new Document(); //Add a section Section s = doc.AddSection(); //Define the data for the table String[] 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 table Table table = s.AddTable(true); table.ResetCells(data.Length + 1, Header.Length); //Set the first row as table header TableRow FRow = table.Rows[0]; FRow.IsHeader = true; //Set the height and color of the first row FRow.Height = 23; FRow.RowFormat.BackColor = Color.LightSeaGreen; for (int i = 0; i < Header.Length; i++) { //Set alignment for cells Paragraph p = FRow.Cells[i].AddParagraph(); FRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle; p.Format.HorizontalAlignment = HorizontalAlignment.Center; //Set data format TextRange 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 format for (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 format TR2.CharacterFormat.FontName = "Calibri"; TR2.CharacterFormat.FontSize = 11; } } //Save the document doc.SaveToFile("WordTable.docx", FileFormat.Docx2013); } } }
【VB.NET】
Imports System Imports System.Drawing Imports Spire.Doc Imports Spire.Doc.Documents Imports Spire.Doc.Fields Namespace WordTable Class Program Private Shared Sub Main(ByVal args() As String) 'Create a Document object Dim doc As Document = New Document 'Add a section Dim s As Section = doc.AddSection 'Define the data for the table Dim 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 table Dim table As Table = s.AddTable(true) table.ResetCells((data.Length + 1), Header.Length) 'Set the first row as table header Dim FRow As TableRow = table.Rows(0) FRow.IsHeader = true 'Set the height and color of the first row FRow.Height = 23 FRow.RowFormat.BackColor = Color.LightSeaGreen Dim i As Integer = 0 Do While (i < Header.Length) 'Set alignment for cells Dim p As Paragraph = FRow.Cells(i).AddParagraph FRow.Cells(i).CellFormat.VerticalAlignment = VerticalAlignment.Middle p.Format.HorizontalAlignment = HorizontalAlignment.Center 'Set data format Dim TR As TextRange = p.AppendText(Header(i)) TR.CharacterFormat.FontName = "Calibri" TR.CharacterFormat.FontSize = 12 TR.CharacterFormat.Bold = true i = (i + 1) Loop 'Add data to the rest of rows and set cell format Dim r As Integer = 0 Do While (r < data.Length) Dim DataRow As TableRow = table.Rows((r + 1)) DataRow.Height = 20 Dim c As Integer = 0 Do While (c < data(r).Length) DataRow.Cells(c).CellFormat.VerticalAlignment = VerticalAlignment.Middle Dim p2 As Paragraph = DataRow.Cells(c).AddParagraph Dim TR2 As TextRange = p2.AppendText(data(r)(c)) p2.Format.HorizontalAlignment = HorizontalAlignment.Center 'Set data format TR2.CharacterFormat.FontName = "Calibri" TR2.CharacterFormat.FontSize = 11 c = (c + 1) Loop r = (r + 1) Loop 'Save the document doc.SaveToFile("WordTable.docx", FileFormat.Docx2013) End Sub End Class End Namespace
以上便在C#/VB.NET:在 Word 中创建表格,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。