C# 操作Word文本框——插入表格/读取表格/删除表格
在文本框中,我们可以操作很多元素,如文本、图片、表格等,在本篇文章中将着重介绍如何插入表格到文本框,插入的表格我们可以对表格进行格式化操作来丰富表格内容。此外,对于文本框中的表格内容,我们也可以根据需要来读取表格或者删除表格。
使用工具
示例代码
【示例1】插入表格到文本框
C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields; namespace InsertTableToTextbox_Doc
{
class Program
{
static void Main(string[] args)
{ //创建一个Document类对象
Document document = new Document(); //添加section到文档
Section section = document.AddSection();
//添加段落section
Paragraph paragraph = section.AddParagraph(); //添加指定大小的文本框到段落
TextBox textbox = paragraph.AppendTextBox(, ); //添加文本到文本,设置文本格式
Paragraph textboxParagraph = textbox.Body.AddParagraph();
TextRange textboxRange = textboxParagraph.AppendText("Sample Report 1");
textboxRange.CharacterFormat.FontName = "Arial"; //插入表格到文本框
Table table = textbox.Body.AddTable(true);
//指定表格行数、列数
table.ResetCells(, );
//实例化数组内容
string[,] data = new string[,]
{
{"Name","Age","Gender","ID" },
{"John","","Male","" },
{"Steve","","Male","" },
{"Lucy","","female","" }
}; //将数组内容添加到表格
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
TextRange tableRange = table[i, j].AddParagraph().AppendText(data[i, j]);
tableRange.CharacterFormat.FontName = "Arial";
}
} //应用表格样式
table.ApplyStyle(DefaultTableStyle.MediumGrid3Accent1); //保存并打开文档
document.SaveToFile("Output.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("Output.docx");
}
}
}
这里应用表格格式,Spire.Doc 支持多种不同的表格类型,可根据需要自行选择。
表格添加效果:
【示例2】读取文本框中的表格
C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.IO;
using System.Text; namespace GetTableFromTextbox_Doc
{
class Program
{
static void Main(string[] args)
{
//载入Word文档
Document document = new Document("Output.docx"); //获取第一个文本框
TextBox textbox = document.TextBoxes[]; //获取文本框中第一个表格
Table table = textbox.Body.Tables[] as Table;
//实例化StringBuilder类
StringBuilder sb = new StringBuilder(); //遍历表格中的段落并提取文本
foreach (TableRow row in table.Rows)
{
foreach (TableCell cell in row.Cells)
{
foreach (Paragraph paragraph in cell.Paragraphs)
{
sb.AppendLine(paragraph.Text);
}
}
}
File.WriteAllText("text.txt", sb.ToString());
}
}
}
读取结果:
【示例3】删除Word文本框中的表格
C#
using Spire.Doc;
using Spire.Doc.Fields; namespace RemoveTableFormTextbox_Doc
{
class Program
{
static void Main(string[] args)
{
//创建Document实例
Document document = new Document("Output.docx"); //获取第一个文本框
TextBox textbox = document.TextBoxes[]; //删除文本框中第一个表格
textbox.Body.Tables.RemoveAt(); //保存文档
document.SaveToFile("RemoveTable.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("RemoveTable.docx");
}
}
}
删除效果:
附:
除了添加在文本框汇中操作表格以外,我们向文本框中添加图文混排的内容也是比较常见的,不仅仅只是添加简单文本或者图片,一些复杂的格式化的操作也是可以的,具体可以参阅博客“C# 插入排版精良的Word文本框”
以上是本次关于“C# 操作Word 文本框中的表格”的全部内容。如需转载,请注明出处!
感谢阅读!
C# 操作Word文本框——插入表格/读取表格/删除表格的更多相关文章
- Java 读取Word文本框中的文本/图片/表格
Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...
- C# 读取Word文本框中的文本、图片和表格(附VB.NET代码)
[概述] Word中可插入文本框,在文本框中可添加文本.图片.表格等内容.本篇文章通过C#程序代码介绍如何来读取文本框中的文本.图片和表格等内容.附VB.NET代码,有需要可作参考. [程序环境] 程 ...
- Java 获取、删除Word文本框中的表格
本文介绍如何来获取Word文本框中包含的表格,以及删除表格. 程序测试环境包括: IDEA JDK 1.8.0 Spire.Doc.jar 注:jar导入,可通过创建Maven程序项目,并在pom.x ...
- Java 添加Word文本框
在Word中,文本框是指一种可移动.可调节大小的文字或图形容器.我们可以向文本框中添加文字.图片.表格等对象,下面,将通过Java编程来实现添加以上对象到Word文本框. 使用工具:Free Spir ...
- Java 设置Word文本框中的文字旋转方向
Word文档中可添加文本框,并设置文本框为横向文本排列或是纵向文本排列,或者设置文本框中的文字旋转方向等.通过Java程序代码,也可以实现以上文本框的操作.下面以Java代码示例展示具体的实现步骤.另 ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- 去除IE10+上文本框巨丑无比的删除图标以及显示密码图标
去除IE10+上文本框巨丑无比的删除图标以及显示密码图标 IE浏览器总是让人喜欢让人厌,在最新的IE浏览器(IE10+)上使用表单时,文本框内后面会出现很巨丑无比的“删除图标”以及“显示密码图标”,如 ...
- C# 设置Word文本框中的文字旋转方向
在Word中可插入文本框,默认情况下插入的文本框中的文字方向为横向排列,对于一些特殊文档的设计要求,需要改变文字方向,如本次测试中的文档排版为考生试卷类型,考生信息栏的内容为下图中的这种, 本文将以C ...
- webdriver高级应用- 操作富文本框
富文本框的技术实现和普通的文本框的定位存在较大的区别,富文本框的常见技术用到了Frame标签,并且在Frame里面实现了一个完整的HTML网页结构,所以使用普通的定位模式将无法直接定位到富文本框对象. ...
随机推荐
- <转>如何在iOS 7中设置barTintColor实现类似网易和 Facebook 的 navigationBar 效果
转自:i‘m Allen的博客 先给代码:https://github.com/allenhsu/CRNavigationController 1. 问题的表现 相信很多人在 iOS 7 的适配过程中 ...
- List内存分配
当采用默认构造函数List<int> value = new List<int>();实例化一个List<T>对象时,.Net Framework只是在内存中申请了 ...
- iframe局部刷新的二种实现方法
需求描述: 当页面有一部分是不变的或整个页面的图片很多时,可以考虑使用局部刷新,以提高整体的下载速度与用户体验. 1,iframe实现局部刷新的方法一 复制代码代码示例: <script t ...
- UML2.0
一.系统过滤器使用说明 1.OutputCache过滤器 OutputCache过滤器用于缓存你查询结果,这样可以提高用户体验,也可以减少查询次数.它有以下属性: Duration:缓存的时间,以秒为 ...
- EF Core使用SQL调用返回其他类型的查询
假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法是编写 ADO.NET 代码,并从 EF 获取数据库 ...
- 完美支持Py3的微信开发库推荐
之前分享了个代码,后来发现中文发送是乱码,应该是加密代码的问题,然后在又找到这个可完美使用的Py3微信库wechatpy:https://github.com/jxtech/wechatpy
- java内存溢出(二)
一.有哪些内存溢出异常? OutOfMemoryError: 当堆.栈(多线程场景).方法区(永久区).本地内存(元数据.直接内存),数据容量达到最大时产生 StackOverFlowError: 线 ...
- linux常用命令合集(未完)
(1)新建 新建文件夹:mkdir 文件夹名 新建文件:touch 文件路径/文件名 删除: rm –f filename删除文件 rm –rf filename删除文件夹 (2)重命名 1将一个名为 ...
- Ocelot中文文档-Websockets
Ocelot额外支持代理websockets.这个功能在问题 212中被提出. 为了是Ocelot代理websocket,你需要做如下事情. 在你的Configure方法中,你要告知应用程序使用Web ...
- Nowcoder84D
Nowcoder84D 传送门 很有趣的进制转换题! 如果x满足题意,那么x+k-1一定能符合要求! 因为k-1用k进制表示就是1,-1,1+(-1)=0所以数位之和不变! 用map维护一下前缀和.就 ...