首页
/
每日頭條
/
科技
/
提取數據到word
提取數據到word
更新时间:2026-03-08 17:15:45

在Word中可将文件通過OLE對象嵌入的方式插入到文檔,包括Word、excel、PDF、PPT、圖片、宏文件、文件包等在内的多種文件類型。對文檔中已插入的文檔對象,也可通過本文中的方法提取出來另存到指定路徑。本文将通過C#程序代碼示例做詳細介紹。

dll文件安裝(3種方法)

1.通過NuGet安裝dll(2種方法)

1.1可以在Visual Studio中打開“解決方案資源管理器”,鼠标右鍵點擊“引用”,“管理NuGet包”,然後搜索“Free Spire.Doc”,點擊“安裝”。等待程序安裝完成。

1.2将以下内容複制到PM控制台安裝。

Install-Package FreeSpire.Doc -Version 9.9.7

2.手動添加dll引用

可通過手動下載包到本地,然後解壓,找到BIN文件夾下的Spire.Doc.dll。然後在Visual Studio中打開“解決方案資源管理器”,鼠标右鍵點擊“引用”,“添加引用”,将本地路徑BIN文件夾下的dll文件添加引用至程序。

提取文件

提取文件時,主要通過以下幾個步驟完成:

  • 創建Document類的對象,并通過Document.LoadFromFile()方法加載Word文檔。
  • 遍曆Word文檔中的所有Section中的子對象,判斷對象是否為Paragraph類型。
  • 遍曆段落中的子對象,判斷對象是否為DocumentObjectType類型的OLE對象。
  • 将符合條件的OLE對象通過as操作符轉換為DocOleObject類型。
  • 通過File.WriteAllBytes()方法提取對象,保存到本地路徑。

:以下代碼中所使用到的Word測試文件和提取到的多媒體文件路徑為VS程序的Debug路徑,如:F:\VS2017Project\ ExtractMediaFile\bin\Debug 。

下面是完整代碼示例:

C#

提取數據到word(C提取Word中插入的多媒體文件)1

using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System.IO; namespace ExtractMediaFile { class Program { static void Main(string[] args) { //加載Word文檔 Document doc = new Document(); doc.LoadFromFile(@"OLE.docx"); //遍曆所有子對象 foreach (Section section in doc.Sections) { foreach (DocumentObject obj in section.Body.ChildObjects) { if (obj is Paragraph) { Paragraph paragraph = obj as Paragraph; foreach (DocumentObject obj2 in paragraph.ChildObjects) { if (obj2.DocumentObjectType == DocumentObjectType.OleObject) { DocOleObject ole = obj2 as DocOleObject; //提取文件 File.WriteAllBytes(ole.PackageFileName, ole.NativeData); } } } } } } } }

提取數據到word(C提取Word中插入的多媒體文件)2

文件讀取結果如圖:

提取數據到word(C提取Word中插入的多媒體文件)3

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
windows10家庭組怎麼建立
windows10家庭組怎麼建立
大家好,我是波仔,非常高興又來跟大家一起分享與探讨,我們一起來學習吧。今天來給大家分享一下Window10系統如何使用家庭組來實現家庭共享的知識。使用家庭組實現家庭共享對于現在的家庭來說,擁有多台計算機已經不是新鮮事了,有的家庭,為了區别工...
2026-03-08
電腦網絡掉線是什麼原因怎麼解決
電腦網絡掉線是什麼原因怎麼解決
我們經常遇到的是,電腦的網絡變得比較差,到底是什麼情況導緻的電腦網絡變差呢?對于我們來說,我們會和大家聊聊,到底是哪些情況導緻的。第一種情況:電腦本身的問題如果我們的電腦本身存在問題的話,也可能會影響電腦網絡,一方面是因為我們電腦本身的配置...
2026-03-08
上網加速怎麼修改
上網加速怎麼修改
上網加速怎麼修改?鼠标右鍵單擊“我的電腦”選擇“屬性”/“高級”/在性能欄點擊“設置”按鈕,此時将彈出“性能選項”窗口,選擇“調整為最佳性能”點擊“應用”按鈕,确定退出,下面我們就來說一說關于上網加速怎麼修改?我們一起去了解并探讨一下這個問...
2026-03-08
賽博朋克2077現在賣了多少份
賽博朋克2077現在賣了多少份
9月28日晚間,遊戲公司CDProjekt官微宣布,《賽博朋克2077》累計銷量突破2000萬份。據了解,CDProjekt花了8年時間開發《賽博朋克2077》,成本高達12億茲羅提(約合人民币17.28億元)。,
2026-03-08
電腦卡頓改什麼硬件好點
電腦卡頓改什麼硬件好點
電腦的性能是需要依靠硬件配置,所謂的電腦淘汰也就是電腦的硬件配置滿足不了使用需求,以前人們對待淘汰電腦的方法就是置換新電腦,這樣置換新電腦的缺點就是給電腦用戶帶來了比較大的經濟支出。現在人們對待淘汰電腦的方法就是硬件升級。老電腦、舊電腦和運...
2026-03-08
Copyright 2023-2026 - www.tftnews.com All Rights Reserved