C# 读取Word文本框中的文本、图片和表格(附VB.NET代码)
【概述】
Word中可插入文本框,在文本框中可添加文本、图片、表格等内容。本篇文章通过C#程序代码介绍如何来读取文本框中的文本、图片和表格等内容。附VB.NET代码,有需要可作参考。
【程序环境】
程序中所需必要的程序集文件Spire.Doc.dll,及其他相关dll文件(见下文)。
用于测试的Word源文档如图:
【程序代码】
1.读取文本框中的文本
所需程序集:
【C#】
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;
using System.IO;
using System.Text;namespace ExtractText
{class Program{static void Main(string[] args){//加载Word源文档Document doc = new Document();doc.LoadFromFile("test.docx");//获取文本框TextBox textbox = doc.TextBoxes[0];//创建StringBuilder类的对象StringBuilder sb = new StringBuilder();//遍历文本框中的对象,获取文本foreach (object obj in textbox.Body.ChildObjects){if (obj is Paragraph){String text = ((Paragraph)obj).Text;sb.AppendLine(text);}}//保存写入的txt文档到指定路径File.WriteAllText("ExtractedText.txt", sb.ToString());System.Diagnostics.Process.Start("ExtractedText.txt");}}
}
【vb.net】
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Imports System.IO
Imports System.TextNamespace ExtractTextClass ProgramPrivate Shared Sub Main(args As String())'加载Word源文档Dim doc As New Document()doc.LoadFromFile("test.docx")'获取文本框Dim textbox As TextBox = doc.TextBoxes(0)'创建StringBuilder类的对象Dim sb As New StringBuilder()'遍历文本框中的对象,获取文本For Each obj As Object In textbox.Body.ChildObjectsIf TypeOf obj Is Paragraph ThenDim text As [String] = DirectCast(obj, Paragraph).Textsb.AppendLine(text)End IfNext'保存写入的txt文档到指定路径File.WriteAllText("ExtractedText.txt", sb.ToString())System.Diagnostics.Process.Start("ExtractedText.txt")End SubEnd Class
End Namespace
文本读取结果:
2.读取文本框中的图片
所需程序集:
【C#】
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;namespace ExtractImg
{class Program{static void Main(string[] args){//加载Word源文档Document doc = new Document();doc.LoadFromFile("test.docx");//获取文本框TextBox textbox = doc.TextBoxes[0]; int index = 0 ;//遍历文本框中所有段落for (int i = 0 ; i < textbox.Body.Paragraphs.Count;i++){Paragraph paragraph = textbox.Body.Paragraphs[i];//遍历段落中的所有子对象for (int j = 0; j < paragraph.ChildObjects.Count; j++){object obj = paragraph.ChildObjects[j];//判定对象是否为图片if (obj is DocPicture){//获取图片DocPicture picture = (DocPicture) obj;String imageName = String.Format("Image-{0}.png", index);picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png);index++;}}}}}
}
【vb.net】
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.FieldsNamespace ExtractImgClass ProgramPrivate Shared Sub Main(args As String())'加载Word源文档Dim doc As New Document()doc.LoadFromFile("test.docx")'获取文本框Dim textbox As TextBox = doc.TextBoxes(0)Dim index As Integer = 0'遍历文本框中所有段落For i As Integer = 0 To textbox.Body.Paragraphs.Count - 1Dim paragraph As Paragraph = textbox.Body.Paragraphs(i)'遍历段落中的所有子对象For j As Integer = 0 To paragraph.ChildObjects.Count - 1Dim obj As Object = paragraph.ChildObjects(j)'判定对象是否为图片If TypeOf obj Is DocPicture Then'获取图片Dim picture As DocPicture = DirectCast(obj, DocPicture)Dim imageName As [String] = [String].Format("Image-{0}.png", index)picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png)index += 1End IfNextNextEnd SubEnd Class
End Namespace
图片读取结果:
3.读取文本框中的表格
所需程序集:
【C#】
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.IO;
using System.Text;namespace ExtractTable
{class Program{static void Main(string[] args){//加载Word文档Document doc = new Document();doc.LoadFromFile("test.docx");//获取文本框TextBox textbox = doc.TextBoxes[0];//获取文本框中表格Table table = textbox.Body.Tables[0] as Table;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("ExtractedTable.txt", sb.ToString());}}
}
【vb.net】
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Imports System.IO
Imports System.TextNamespace ExtractTableClass ProgramPrivate Shared Sub Main(args As String())'加载Word文档Dim doc As New Document()doc.LoadFromFile("test.docx")'获取文本框Dim textbox As TextBox = doc.TextBoxes(0)'获取文本框中表格Dim table As Table = TryCast(textbox.Body.Tables(0), Table)Dim sb As New StringBuilder()'遍历表格中的段落并提取文本For Each row As TableRow In table.RowsFor Each cell As TableCell In row.CellsFor Each paragraph As Paragraph In cell.Paragraphssb.AppendLine(paragraph.Text)NextNextNextFile.WriteAllText("ExtractedTable.txt", sb.ToString())End SubEnd Class
End Namespace
表格数据读取结果:
【总结】
以上是本文关于通过C#程序读取Word中的文本框的方法。所附VB.NET代码供参考。
另推荐阅读《Java 读取Word文本框中的文本、图片和表格》
(本文完,如需转载,请务必注明出处!!)
C# 读取Word文本框中的文本、图片和表格(附VB.NET代码)相关推荐
- java word文本框_Java 读取Word文本框中的文本、图片、表格
Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...
- Java 读取Word文本框中的文本、图片、表格
Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...
- Word控件Spire.Doc 【文本】教程(5) ;从 Word 文档中的文本框中提取文本
文本框的目的是允许用户输入程序要使用的文本信息.也可以从文本框中提取现有的文本信息.以下指南重点介绍如何通过Spire.Doc for .NET从 C# 中 Word 文档的文本框中提取文本. Spi ...
- C# 读取Word文档中的文本内容
C# 读取Word文档中的文本内容 这篇文章将介绍如何使用C#和Free Spire.Doc组件读取Word文档中的文本内容.Free Spire.Doc提供了两种方法来读取Word文档中的内容,一种 ...
- Free Spire.Doc组件C# 读取Word文档中的文本内容
C# 读取Word文档中的文本内容 这篇文章将介绍如何使用C#和Free Spire.Doc组件读取Word文档中的文本内容.Free Spire.Doc提供了两种方法来读取Word文档中的内容,一种 ...
- python 获取文本框内容_如何在python中单击按钮时获取文本框中的文本?
我可以让您的代码在单击按钮时显示文本框中的文本: 这就是你要达到的目的吗?您没有提到是否出现错误,但我确实发现您的代码存在两个问题:Button.py脚本中似乎存在一些缩进问题.在 对于changeT ...
- Java 读取Word文档中的文本内容
这篇文章将介绍如何使用Free Spire.Doc for Java组件在Java应用程序中读取Word文档的文本内容.Free Spire.Doc for Java提供了两种方法来读取Word文档中 ...
- python docx提取word中的目录及文本框中的文本
问题描述 同标题 解决方案 因未在docx库找到直接识别word中目录及文本框中文本的方法,所以采用了一个"笨"方法,docx库可以把word文档解析成xml格式,以解析xml的方 ...
- python 文本框内容变化_当文本框中的文本发生变化时,动态读取文本输入中的文本?...
我是kivy新手,我正试图用python编写一个应用程序,有一次,每当textinput被更改时,我都要从textinput读取文本,基于此,我想实现我的按钮功能-我已经看过所有文档,但我不知道怎么做 ...
- javascript html 文本框插入文本,javascript – 在文本框中输入文本
演示: jsFiddle HTML: nelson justin JS: function selectedItemChange(sel) { document.getElementById('tes ...
最新文章
- c、c++---linux上的GetTickCount函数
- mysql管理员操作
- 【面试必备】Swiftamp;nbsp;面试题及其答案
- 莫旗政务服务中心通过“互联网+智慧城市” 提升公共服务能力
- 白鹭引擎制作滚动框,类似div的oveflow
- 【转】解决 canvas 在高清屏中绘制模糊的问题
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-02CAP理论知识
- 计算机主机五大结构,计算机由哪五大部分组成?
- 高数叔c语言课件,高数叔网课资源合集 高数上下、线代、模电、物理、复变合集...
- 专业的WiFi检测工具有哪些?如何解决wifi信号不好?
- c语言钟表程序,制作一个电子时钟C语言版
- 第一章 Java性能调优概述
- php 如何使用ck播放视频,[原创]简单代码利用ckplayer播放器实现帝国CMS播放优酷在线视频...
- 华为中兴为何对未来信心十足?
- 总线揭密 串行传输VS并行传输
- Kendo UI 刷新数据源信息
- 用selenium和BeautifulSoup爬取网易云音乐歌手id
- Java之for循环打印倒直角三角形
- HIT 软件构造 Lab1
- 云对象获取服务器的文件列表,云对象获取服务器的文件列表