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 中创建表格,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。



















