Word控件Spire.Doc 【Table】教程(5):创建表格并在 Doc 文档中设置其边框

news2025/1/20 7:15:59

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

如果您正在处理提案请求、标准操作程序文件或规定格式的其他文档类型,则 Word 文档可能是一页又一页的纯文本。你的文件会很麻烦而且不清楚。所以你的文件需要一个表格来记录你需要显示的信息。表格不仅提供了信息的可视化分组,也使编写者更方便地修改和查询表格中的数据。特别是当您的表格有丰富多彩的边框时,您的文档会令人惊叹。

Spire.Doc for .NET,专业的.NET Word组件,操作Word文档,提供了一个Table类来对表格执行任务,例如,包括行、列、单元格、边框和表格布局操作。本指南介绍了一种使用数据创建 Word 表格并通过 Spire.Doc for .NET 在 C#.NET 中设置其边框的解决方案。要完成本指南,您应该首先下载并安装 Spire.Doc for .NET。

下面将通过一个具体的例子来逐步创建Word表格并设置其边框。下面的屏幕截图显示了此示例的结果。

我们假设您在本示例之前已经完成教程 Spire.Doc 快速入门。

  • 首先,创建一个新的 Document 实例。调用 AddTable 方法在 Section 中创建一个表,传递一个参数值 true 以指示新表具有边框。调用 ResetCells 方法设置表格的行数和列数。
  • 其次,设置表格的标题和单元格格式。
  • 第三,设置表格的边框格式。int 这一步,你可以设置底部、顶部、左、右边框的格式。比如你可以设置Color,LineWidth,border是否存在,BorderType,你可以选择Dot,Double,Hairline等多种类型。
  • 最后,您可以设置垂直和水平边框,如步骤 3。

完整代码

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace Table
{
Public class table
{
static void Main(string[] args)
{
//Open a blank word document as template
Document document = new Document(Blank.doc");
addTable(document.Sections[0]);

//Save doc file.
document.SaveToFile("Sample.doc",FileFormat.Doc);

//Launching the MS Word file.
System.Diagnostics.Process.Start ("Sample.doc");
}
private void addTable(Section section)
{
//create a table with border
Spire.Doc.Table table = section.AddTable(true);
String[] header = { "Name", "Capital", "Continent", "Area", "Population" };
String[][] data =
{ new String[]{"Argentina", "Buenos Aires", "South America", "2777815", "32300003"},
new String[]{"Bolivia", "La Paz", "South America", "1098575", "7300000"},
new String[]{"Brazil", "Brasilia", "South America", "8511196", "150400000"},
new String[]{"Canada", "Ottawa", "North America", "9976147", "26500000"},
new String[]{"Paraguay", "Asuncion", "South America", "406576", "4660000"},
new String[]{"Peru", "Lima", "South America", "1285215", "21600000"},
new String[]{"United States of America", "Washington", "North America", "9363130", "249200000"},
};

table.ResetCells(data.Length + 1, header.Length);

// ***************** First Row *************************
TableRow Frow = table.Rows[0];
Frow.IsHeader = true;
Frow.Height = 20; //unit: point, 1point = 0.3528 mm
Frow.HeightType = TableRowHeightType.Exactly;
Frow.RowFormat.BackColor = Color.Pink;
for (int i = 0; i < header.Length; i++)
{
Frow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
Paragraph p = Frow.Cells[i].AddParagraph();
p.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Left;
TextRange txtRange = p.AppendText(header[i]);
txtRange.CharacterFormat.Bold = true;
}
for (int r = 0; r < data.Length; r++)
{
TableRow dataRow = table.Rows[r + 1];
dataRow.Height = 20;
dataRow.HeightType = TableRowHeightType.Exactly;
dataRow.RowFormat.BackColor = Color.Empty;
for (int c = 0; c < data[r].Length; c++)
{
dataRow.Cells[c].CellFormat.VerticalAlignment =VerticalAlignment.Middle;
dataRow.Cells[c].AddParagraph().AppendText(data[r][c]);
}
}

//set right border of table
table.TableFormat.Borders.Right.BorderType = Spire.Doc.Documents.BorderStyle.Hairline;
table.TableFormat.Borders.Right. LineWidth = 2.0F;
table.TableFormat.Borders.Right.Color = Color.GreenYellow;
//set top border of table
table.TableFormat.Borders.Top.BorderType = Spire.Doc.Documents.BorderStyle.Hairline;
table.TableFormat.Borders.Top.LineWidth = 4.0F;
table.TableFormat.Borders.Top.Color = Color.GreenYellow;
//set left border of table
table.TableFormat.Borders.Left.BorderType = Spire.Doc.Documents.BorderStyle.Hairline;
table.TableFormat.Borders.Left.LineWidth = 2.0F;
table.TableFormat.Borders.Left.Color = Color.GreenYellow;
//set bottom border is none
table.TableFormat.Borders.Bottom.BorderType = Spire.Doc.Documents.BorderStyle.None;
//set vertical and horizontal border
table.TableFormat.Borders.Vertical.BorderType = Spire.Doc.Documents.BorderStyle.Dot;
table.TableFormat.Borders.Horizontal.BorderType = Spire.Doc.Documents.BorderStyle.None;
table.TableFormat.Borders.Vertical.Color = Color.Orange;

}
}
}

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

 

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

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

相关文章

ROS2机器人编程简述新书推荐-A Concise Introduction to Robot Programming with ROS2

参考链接&#xff1a;https://github.com/fmrico/book_ros2封面&#xff1a;简介&#xff1a;ROS2机器人编程简明教程使用ROS2进行机器人编程的简明介绍为读者提供了通过编程实现机器人所需的概念和工具。它将使读者具备使用ROS2&#xff08;ROS的新版本&#xff09;进行项目所…

RT-Thread系列--内存堆MEMHEAP源码分析

一、目的在上一篇《RT-Thread系列--内存池MEMPOOL源码分析》我们介绍了RT-Thread的内存池MEMPOOL实现细节&#xff0c;包括内存池结构和内存块管理。本篇我们来分析一下RT-Thread的内存堆MEMHEAP的实现原理。内存堆MEMHEAP的特点&#xff1a;按需分配&#xff0c;需要多少内存就…

小伟婚后首次看望丈母娘,大衣哥准备了一大三轮车礼品,太豪横了

伴随着春节的临近&#xff0c;大衣哥的儿子小伟&#xff0c; 又一次迎来自己的高光时刻&#xff0c;他和未婚妻一起携手&#xff0c;步入了神圣的婚姻殿堂&#xff0c;大衣哥也长出一口气。儿子小伟再婚&#xff0c;大衣哥完成了一小半任务&#xff0c;接下来还要生孩子&#x…

【Python基础篇】Python中的七种数据类型

文章目录前导一、数字类型&#xff08;Number&#xff09;二、布尔类型&#xff08;Boolean&#xff09;三、字符串类型&#xff08;String&#xff09;3.1 字符串索引3.2 字符串截取、拼接和复用四、列表类型&#xff08;List&#xff09;4.1 in和not in4.2 len()4.3 添加/删除…

Three.js 打造酷炫的三角形

在前一章中&#xff0c;我们通过 BufferGeometry 创建了一个正方形&#xff0c;本节我们利用 BufferGeometry 打造一簇酷炫的三角形&#xff0c;最终的效果如下图所示&#xff1a; 从效果图中可以发现&#xff0c;每一个三角形的位置、大小、颜色都是随机的。 // 共有50个三角…

医疗影像工具LEADTOOLS 入门教程: 检测和提取机读旅行证件 - 控制台 C#

LEADTOOLS 是一个综合工具包的集合&#xff0c;用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中&#xff0c;是一项企业级文档自动化解决方案&#xff0c;有捕捉&#xff0c;OCR&#xff0c;OMR&#xff0c;表单识别和处理&#…

专注分布式架构 莱商银行的数字化转型实践

本文刊登于《金融电子化》杂志 2022 年 12 月下&#xff0c;作者魏汝浩为莱商银行首席信息官。2021 年 12 月 29 日&#xff0c;中国人民银行印发《金融科技发展规划&#xff08;2022—2025 年&#xff09;》&#xff08;银发〔2021〕335 号&#xff09;&#xff0c;提出新时期…

分享166个ASP源码,总有一款适合您

166个ASP源码下载链接&#xff1a;https://pan.baidu.com/s/19W7FmY9nADL1Rge8e5uqiQ?pwdskhh 提取码&#xff1a;skhh import os import shutil import time from time import sleepimport requests from bs4 import BeautifulSoup from docx import Document from docx.sh…

Shader从入门到放弃(四) —— 绘制闪耀星际

前言 经过3个章节的学习&#xff0c;相信大家对shader编程也逐渐的有了一些感觉&#xff0c;所以这次我们玩个“大”的&#xff01;。 今天的学习内容是绘制“闪耀星际”&#xff0c;正如歌中唱的那样&#xff1a; 星际闪耀光影&#xff0c;落入你的眼睛&#xff0c;如迷人的…

Dubbo泛化调用

Dubbo泛化调用 1. 场景 场景一&#xff1a;我们要搭建一个统一的测试平台&#xff0c;可以让各个业务方在测试平台中通过输入接口、分组名、方法名以及参数值&#xff0c;在线测试自己发布的 RPC 服务。这时我们就有一个问题要解决&#xff0c;我们搭建统一的测试平台实际上是…

【论文速递】CVPR2022 - 泛化的小样本语义分割

【论文速递】CVPR2022 - 泛化的小样本语义分割 【论文原文】&#xff1a;Generalized Few-shot Semantic Segmentation 获取地址&#xff1a;https://openaccess.thecvf.com/content/CVPR2022/papers/Tian_Generalized_Few-Shot_Semantic_Segmentation_CVPR_2022_paper.pdf博…

【ROS2 入门】Jeston TX1 JetPack_4.6.3环境 ubuntu 18.04 ROS2 安装

大家好&#xff0c;我是虎哥&#xff0c;从今天开始&#xff0c;我将花一段时间&#xff0c;开始将自己从ROS1切换到ROS2&#xff0c;在上一篇中&#xff0c;我们再虚拟机环境中安装了 ROS2 eloquent版本&#xff0c;并完成了初步的验证&#xff0c;但是做为一个偏硬件的博主&a…

nginx禁止外网访问

1、安装 libmaxminddb 库 apt updateapt install libmaxminddb0 libmaxminddb-dev mmdb-bin上面安装的软件包是&#xff1a; libmaxminddb0 libmaxminddb-dev 是MaxMind地理定位数据库mmdb-bin – 二进制。 从命令行调用的程序。 使用此命令手动定位 IP 安装参考 2、下载geoi…

node学习笔记

阶段一 1 初始Node.js javascript 运行环境 1.2 Node.js中的javacript 运行环境 1.3 Node.js环境安装 百度 1.4 node.js 执行javaScript 代码 2 fs文件系统模块 2.1 fs文件系统模块概念 导入文件系统模块&#xff1a; const fs require(fs)fs.readFile() // 1 导入fs文件…

【进阶C语言】通讯录(后期会升级)

文章目录一.基本框架与功能二.头文件的详细内容三.函数的实现1.打印菜单2.初始化通讯录3.添加联系人信息4.打印联系人信息5.查找名字6.删除联系人信息7.查找联系人8.修改联系人信息9.排序联系人&#xff08;按照名字&#xff09;四.总结1.test.c2.contact.c3.contact.h一.基本框…

智能电风扇(stm32f103c8t6)(直流电机,热敏传感器)(TIM,ADC)

前言 我的毕业论文的课题 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、热敏传感器计算温度&#xff08;ADC采样单通道&#xff09; #include "stm32f10x.h" // Device header#define T25 298.15 #define B 3…

看完这篇 教你玩转渗透测试靶机vulnhub——MONEYBOX: 1

Vulnhub靶机MONEYBOX: 1渗透测试详解Vulnhub靶机介绍&#xff1a;Vulnhub靶机下载&#xff1a;Vulnhub靶机安装&#xff1a;Vulnhub靶机漏洞详解&#xff1a;①&#xff1a;信息收集&#xff1a;②&#xff1a;FTP匿名登入&#xff1a;③&#xff1a;SSH暴力破解④&#xff1a;…

Java操作Word模板产生全新内容Word

1. spire.doc的jar引用 首先我们需要用到国产word处理工具jar包spire.doc&#xff0c;可以通过maven仓库寻找&#xff0c;然后在pom文件中直接引用。 此处需要注意&#xff0c;我们需要使用的是spire.doc.free&#xff08;免费版的&#xff09;&#xff0c;切勿使用spire.doc&a…

c++ - 第23节 - C++的类型转换

1.C语言中的类型转换 在C语言中&#xff0c;如果赋值运算符左右两侧类型不同&#xff0c;或者形参与实参类型不匹配&#xff0c;或者返回值类型与接收返回值类型不一致时&#xff0c;就需要发生类型转化&#xff0c;C语言中总共有两种形式的类型转换&#xff1a;隐式类型转换和…

业务安全情报 | 数十万元的数据报告,竟被50元批量转售

近期监测到某咨询公司针数据报告大量泄漏事件&#xff0c;该机构历年的数据报告以及近期更新的针对VIP会员的付费报告均在电商等渠道可以低价获取。 BSL-2022-a3c28号情报文件显示黑灰产通过作弊方式获取查看、下载权限&#xff0c;绕过限制将报告数据大量下载&#xff0c;并通…