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

news2024/11/16 11:36:36

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring源码-资源资源加载器

Spring资源抽象Resource Spring对各种底层资源,比如文件系统中的一个文件&#xff0c;classpath上的一个文件&#xff0c;或者一个网络URL&#xff0c;统一抽象为接口Resource来表示 因为每个底层文件都可以以一个只读InputStream的方式打开&#xff0c;所以Resource接口继承…

ModuleNotFoundError: No module named ‘cs231n‘

在colab上完成cs231n的作业时发现&#xff0c;报了No module named cs231n’这个错误&#xff0c;查询后也没有找到合适的答案 仔细检查&#xff0c;发现是没有找到assignment1下的cs231n文件夹&#xff0c;然后去网站核对视频教程&#xff0c;发现没有搞错&#xff0c;视频中…

浮点数的储存

浮点数的储存一.浮点数的三段式&#xff08;S,E,M&#xff09;1.如何放入2.如何取出二.为什么浮点数不能直接比较三.解释第一个问题我们都知道整形在内存中是按照补码的形式储存的&#xff0c;但是浮点数的储存却和整数的截然不同&#xff0c;浮点数没有所谓是原反补并且浮点数…

SSM框架学习记录-MyBatisPlus_day01

1.入门案例与简介 MybatisPlus是基于MyBatis框架基础上开发的增强型工具&#xff0c;旨在简化开发、提供效率 未使用MybatisPlus时&#xff0c;在dao接口中的代码如下&#xff1a; Mapper public interface UserDao {Select("select * from user where id#{id}")publ…

冬日宅家选哪款投影仪比较好?极米H5陪你温暖过冬天

随着室外温度的逐步下降&#xff0c;寒冬也真的来了。相信对于许多朋友来说&#xff0c;宅家是冬季最惬意的时光&#xff0c;就是开着空调、电暖风、暖气&#xff0c;在温暖的室内&#xff0c;再打开投影仪&#xff0c;用超大屏追剧、看看电影&#xff0c;听听美妙的音乐&#…

光伏二次设备概述

概述 分布式光伏发电项目一般根据并网的电压等级分为380V和10KV。一般电压等级为380V低压并并网基本不涉及到什么二次产品&#xff0c;通常采用光伏并网柜就能解决&#xff0c;常见的并网设备为防孤岛保护装置和电能质量在线监测装置为主。而10KV并网的光伏容量一般处于1MWP到1…

加强企业数据库安全的行为准则

现在大多数企业都拥有可靠的网络安全程序&#xff0c;这些程序利用多种控件来实现深度防御安全性。通过这些程序&#xff0c;企业服务器得到加固&#xff0c;企业端点得到保护&#xff0c;监控工具也得以部署。还能够消除来自端点设备的高度敏感信息&#xff0c;并整合企业系统…

基于jsp+sevlet+mysql实验室设备管理系统

基于jspsevletmysql实验室设备管理系统一、系统介绍二、功能展示1.通知公告(学生)2.实验设备借用申请(学生)3.设备借用记录(学生)4.实验室预约申请(老师)5.实验室预约记录(老师)6.实验设备借用申请(老师)7.设备借用记录(老师)8.通知公告(管理员)9.实验室管理(管理员)10.设备管理…

QA | 关于可编程信号发生器,您在使用中可能遇到的问题

Q1&#xff1a;为什么信号源插在电脑上会显示电压不足&#xff1f; A&#xff1a;通常需要比普通电脑USB接口能提供更大的功率&#xff0c;需要高达2.0A的电流&#xff0c;超出了许多老式 USB 端口的水平。可以通过多种方式满足这一要求。适配器、USB 3.0计算机/笔记本电脑端口…

python——Matplotlib之fill_between函数

Matplotlib是Python提供的一套基于NumPy的绘图工具包&#xff0c;用Python实现与MATLAB相似的命令API&#xff0c;十分适合交互式绘制图表&#xff0c;成为Python中应用非常广的绘图工具包之一。 在对数据可视化时&#xff0c;为了突出某一段数据需要对部分区域进行填充处理。…

用这4招优雅的实现Spring Boot 异步线程间数据传递

Spring Boot 自定义线程池实现异步开发相信看过文章都了解&#xff0c;但是在实际开发中需要在父子线程之间传递一些数据&#xff0c;比如用户信息&#xff0c;链路信息等等 比如用户登录信息使用ThreadLocal存放保证线程隔离&#xff0c;代码如下&#xff1a; /*** author 公…

认监委调整《有机产品认证目录》

认监委关于调整《有机产品认证目录》的公告为进一步完善有机产品认证制度&#xff0c;规范有机产品认证活动&#xff0c;促进有机产业发展&#xff0c;根据《有机产品认证管理办法》&#xff08;质检总局令第155号&#xff09;和《有机产品认证实施规则》&#xff08;认监委201…

大数据编程期末大作业

大数据编程期末大作业 文章目录大数据编程期末大作业一、Hadoop基础操作二、RDD编程三、SparkSQL编程四、SparkStreaming编程一、Hadoop基础操作 在HDFS中创建目录 /user/root/你的名字 例如李四同学 /user/root/lisi 首先我们需要启动hdfs&#xff0c;我们直接在终端输入如下命…

JavaScript for 循环

文章目录JavaScript for 循环JavaScript 循环使用for循环不同类型的循环For 循环语句 1语句 2语句 3For/In 循环JavaScript for 循环 循环可以将代码块执行指定的次数。 JavaScript 循环 如果您希望一遍又一遍地运行相同的代码&#xff0c;并且每次的值都不同&#xff0c;那么…

MCU-51:单片机DS18B20温度报警器

目录一、DS18B201.1 DS18B20介绍1.2 引脚及应用电路1.3 内部结构框图1.4 存储器结构二、单总线2.1 单总线介绍2.2 单总线电路规范2.3 单总线时序结构三、DS18B20操作流程四、DS18B20数据帧五、温度存储格式六、代码演示6.1 温度读取6.2 温度报警器注意&#xff1a;一定要看一、…

Qt OpenGL(04)Sierpinski 镂垫 3D 版

文章目录三维 Siepinski 镂垫相关代码main.cppHelp.hppWidget.hWidget.cpp顶点着色器片元着色器总结三维 Siepinski 镂垫 把前面的二维Sierpinski程序转换成一个生成三维Sierpinski镂垫的程序&#xff0c;也就是说要绘制的镂垫不再只是限制在一个平面里。我们可仿效对二维镂垫所…

什么? @ConditionalOnMissingBean 你没设置value?

序 这两天再看 公司 之前写的组件的代码&#xff0c;不看不知道&#xff0c;一看吓一跳。。。。这里就说其中一个 不知道你在写组件中的 Bean 加载的时候 怎么写&#xff1f; 方法一 直接META-INF/spring.factories 写 org.springframework.boot.autoconfigure.EnableAuto…

消息队列应用与原理剖析

什么是消息队列 消息队列&#xff1a;在消息的传输过程中保存消息的容器&#xff0c;生产者和消费者不直接通讯&#xff0c;依靠队列保证消息的可靠性&#xff0c;避免了系统间的相互影响。系统间的数据流通道 应用场景 异步处理&#xff1a;用户注册后&#xff0c;需要发注…

linux C--管道

这里写自定义目录标题基本概念管道特征编写模型有名管道模型示例demowrite.cread.c结果记录笔记1无名管道基本概念 进程间存在天然的壁垒,进程间通信(Interperocess Communication,IPC)是指二个或者多个进程之间进行数据交换的过程 管道特征 管道是进程间通讯的一种常用方法…

Tomcat安装及使用

1.下载 Tomcat官网 选择系统 2.解压 解压到没有中文路径的文件夹中,解压路径会在配置环境变量时用到 3.配置环境变量 在电脑点击鼠标右键->点击属性>点击高级系统设置->点击环境变量->新建系统变量 1.新建系统变量 变量名为CATALINA_HOME&#xff0c;变…