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(300, 100); //添加文本到文本,设置文本格式 Paragraph textboxParagraph = textbox.Body.AddParagraph(); TextRange textboxRange = textboxParagraph.AppendText("Sample Report 1"); textboxRange.CharacterFormat.FontName = "Arial"; //插入表格到文本框 Table table = textbox.Body.AddTable(true); //指定表格行数、列数 table.ResetCells(4, 4); //实例化数组内容 string[,] data = new string[,] { {"Name","Age","Gender","ID" }, {"John","28","Male","0023" }, {"Steve","30","Male","0024" }, {"Lucy","26","female","0025" } }; //将数组内容添加到表格 for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; 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[0]; //获取文本框中第一个表格 Table table = textbox.Body.Tables[0] 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[0]; //删除文本框中第一个表格 textbox.Body.Tables.RemoveAt(0); //保存文档 document.SaveToFile("RemoveTable.docx", FileFormat.Docx2013); System.Diagnostics.Process.Start("RemoveTable.docx"); } } }
删除效果:
附:
除了添加在文本框汇中操作表格以外,我们向文本框中添加图文混排的内容也是比较常见的,不仅仅只是添加简单文本或者图片,一些复杂的格式化的操作也是可以的,具体可以参阅博客“C# 插入排版精良的Word文本框”
以上是本次关于“C# 操作Word 文本框中的表格”的全部内容。如需转载,请注明出处!
感谢阅读!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
干货:教你如何监控 Java 线程池运行状态
之前写过一篇 Java 线程池的使用介绍文章《线程池全面解析》,全面介绍了什么是线程池、线程池核心类、线程池工作流程、线程池分类、拒绝策略、及如何提交与关闭线程池等。 但在实际开发过程中,在线程池使用过程中可能会遇到各方面的故障,如线程池阻塞,无法提交新任务等。 如果你想监控某一个线程池的执行状态,线程池执行类 ThreadPoolExecutor 也给出了相关的 API, 能实时获取线程池的当前活动线程数、正在排队中的线程数、已经执行完成的线程数、总线程数等。 总线程数 = 排队线程数 + 活动线程数 + 执行完成的线程数。 下面给出一个线程池使用示例,及教你获取线程池状态。 private static ExecutorService es = new ThreadPoolExecutor(50, 100, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(100000)); public static void main(String[] args) throws Exception { for ...
- 下一篇
switch case 支持的 6 种数据类型!
有粉丝建议可以偶尔推送一些 Java 方面的基础知识,一方面可以帮助一初学者,也可以兼顾中高级的开发者。 那么今天就讲一下 Java 中的 switch case 语句吧,有忘记的同学正好可以温习一下。 Java 中 switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。 语法格式如下: switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 } 这里的 expression 都支持哪些类型呢? 基本数据类型:byte, short, char, int 包装数据类型:Byte, Short, Character, Integer 枚举类型:Enum 字符串类型:String(Jdk 7+ 开始支持) 基本数据类型和字符串很简单不用说,下面举一个使用包装类型和枚举的,其实也不难,注意只能用在 switch 块里面。 // 使用包装类型 Integer value = 5;...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8