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

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。

Spire.Doc for.NET 最新下载(qun:767755948)icon-default.png?t=MBR7https://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 中创建表格,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值