首页
/
每日頭條
/
科技
/
提取數據到word
提取數據到word
更新时间:2025-11-05 13:09:37

在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
推荐阅读
三個砝碼如何稱出130克
三個砝碼如何稱出130克
有一架天平,要用它稱出1~n克之間所有重量為整數克的物體,至少用多少個砝碼?非常好的一個數學問題。我是王老師,專注于小學數學!我們可以運用二進制的思想來解題。答案就是把n化為二進制數,數數共多少位,就需要多少砝碼。本文隻讨論一邊放砝碼情況,...
2025-11-05
大衆cc汽油壓力低
大衆cc汽油壓力低
車輛狀況:2018款大衆CC,3年行駛5.6萬公裡,整車無事故、無大修。故障描述:車子加速無力,去4S店檢查後确認為燃油系統壓力過低。車子燃油系統壓力過低可能是這些原因造成的:1,燃油壓力傳感器故障;2,高壓燃油泵故障;3,汽油泵故障。故障...
2025-11-05
共享打印機連接錯誤0x00000bcb
共享打印機連接錯誤0x00000bcb
共享打印機安裝在每個公司幾乎都需要用到,相信大家也遇到過不同類型的錯誤問題,如0x00000bcb、0x00006d9、0x0000057、0x000006ba等等,有些是網絡設置問題,有些是權限問題,有些是注冊表問題等等,當然如果公司使用...
2025-11-05
測試蘋果筆記本各項功能
測試蘋果筆記本各項功能
11月1日,平面設計師BulzomiAnton發文,稱蘋果更新了搭載M1Pro以及M1Max芯片MacBookPro的支持頁面,上面更新了這款筆記本關于WiFi等方面的産品細節,并表示新款MacBookPro的最高WiFi傳輸規格還不如20...
2025-11-05
我的秘密室友何正钰被冤枉
我的秘密室友何正钰被冤枉
《我的秘密室友》正在熱播中。這部劇裡最大的反派,絕對是伍吉榕的哥哥:伍安文。可以說,伍安文是決定劇中相關人物命運走向的關鍵,伍吉榕會不會和姜盛豪離婚,會不會死,陳嘉岚會不會出車禍昏迷,全看伍安文的抉擇。作為“反派”,伍安文的人設真的很令人讨...
2025-11-05
Copyright 2023-2025 - www.tftnews.com All Rights Reserved