首页
/
每日頭條
/
科技
/
提取數據到word
提取數據到word
更新时间:2026-08-30 21:52:44

在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
推荐阅读
華為手機翻譯功能設置技巧
華為手機翻譯功能設置技巧
華為自帶翻譯功能太牛了!手機拍一拍立馬變成中文,漲知識了在我們生活中,經常都需要翻譯英文,比方說英文說明書、小朋友的英文課本,那麼這時候我們就可以打開華為手機自帶的翻譯功能,拍一拍就能讓英文秒變中文。真的很方便,日常使用頻率也比較高,所以一...
2026-08-30
vivo手機怎麼投屏到聯想電視上
vivo手機怎麼投屏到聯想電視上
vivo手機怎麼投屏到聯想電視上?所需材料及注意事項:vivo手機一部,具備投屏功能的電視機一個,vivo手機跟電視機需連接在同一個網絡具體步驟如下:,我來為大家科普一下關于vivo手機怎麼投屏到聯想電視上?下面希望有你要的答案,我們一起來...
2026-08-30
大數據與hadoop有什麼關系
大數據與hadoop有什麼關系
大數據HadoopHadoop可以做大數據量存儲,它是分布式,可以存儲離線的數據,不需要實時性的數據,就像雲盤,網盤那樣,你用的時候,可以直接讀取就行。你也可以将曆史數據存儲在Hadoop上,通過整體來分析數據,比抽樣的數據要全,更可靠。還...
2026-08-30
ios13.3清除越獄環境
ios13.3清除越獄環境
可能蘋果自己都沒想到,上周二剛發布的iOS13.5正式版當天,就被知名越獄工具unc0ver的開發團隊破解了,該團隊還發推特稱很快将發布支持iOS13.5越獄的的越獄工具。前兩天,Pwn20wnd正式發布了支持iOS13.5正式版越獄的un...
2026-08-30
目前cad使用最多的是哪個版本
目前cad使用最多的是哪個版本
最近小編發現,很多想學模具設計的朋友們在安裝CAD的時候非常的迷茫,因為CAD版本有好多種,不知道有什麼區别,不知道哪個最好。雖然官方是在版本上不斷的優化才一次次推出現在這麼多版本,但是有些人會覺得更新後還沒之前的版本好用,所以今天小編就給...
2026-08-30
Copyright 2023-2026 - www.tftnews.com All Rights Reserved