在编辑Word文档时,可嵌入OLE对象,通过点击插入的对象可以直接打开查看或编辑该文件。对Word中已有的OLE对象,我们也可以提取嵌入的对象,吹涡皋陕用于其他操作。本次代码环境中的Word测试文档,已嵌入了一个txt格式的文件,下面通过C#代码程序展示如何来读取该txt文件。
工具/原料
Visual Studio 2017
Free Spire.Doc for .NET
Word文档
引用dll
1、下载 Free Spire.Doc for .NET 包到本地,解压,找到Bin文件夹下的Spire.Doc.dll文件。然后执行如图步骤,引用dll文件到Visual Studio程序。鼠标右键点击“引用”-“添加引用”
2、选择“浏览”-“浏览”:
3、找到本地路径下的dll文件,点击“添加”:
4、添加到引用列表后,勾选选项,点击“OK”。完成引用:
C#代码
1、using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;using System.IO;nam髫潋啜缅espace ReadOLE_Doc{ class Program { static void Main(string[] args) { //实例化一个Document对象,加载一个有OLE对象的文档 Document doc = new Document(); doc.LoadFromFile(@"sample.docx"); //遍历文档所有Section foreach (Section sec in doc.Sections) { //遍历Section下面所有的子元素 foreach (DocumentObject obj in sec.Body.ChildObjects) { if (obj is Paragraph) { Paragraph par = obj as Paragraph; //遍历这个section下面的段落 foreach (DocumentObject o in par.ChildObjects) { //找到OLE对象,并根据类型提取 if (o.DocumentObjectType == DocumentObjectType.OleObject) { DocOleObject Ole = o as DocOleObject; File.WriteAllBytes(@"C:\Users\Administrator\Desktop\result.txt", Ole.NativeData); } } } } } } }}
2、执行程序,提取txt文件到本地指定路径下,提取的txt文件如图所示: