日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 读取Word文本框中的文本、图片和表格(附VB.NET代码)

發布時間:2023/12/18 C# 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。