本文聊的 Word 是 docx 格式,这个格式遵循 ECAM 376 全球标准,使用的格式是 OpenXML 格式,在 2013 微软开源了 OpenXml 解析库。这个库里面包含了海量代码,可以使用 MB 计算的代码量,通过这个解析库,咱可以使用几行代码完成对 Word 文件的解析,从文件到内存模型
本文通过一个简单的 WPF 程序告诉大家如何解析,这个简单的 WPF 程序简单到仅一个拖放功能,将 Word 文件拖入应用,就可以自动解析 Word 里面的内容
先新建一个简单的 Word 文件
然后新建一个 WPF 程序,在这个程序里面添加简单的界面
在 WPF 中通过设置 AllowDrop=“True” 就可以让控件支持接收拖放的文件
接着通过 NuGet 安装 Openxml 库,这个库支持跨平台。我新建的是 WPF 的 .NET Core 版本,此时可以在 csproj 添加下面代码进行安装
这个版本的 DocumentFormat.OpenXml 库包含了我的垃圾代码,这是一个在 GitHub 上开源的库,所有的小伙伴都可以参与开发
在 WPF 的后台代码添加 UIElement_OnDragEnter 方法,在这个方法里面可以使用下面代码拿到拖放的文件
在解析 Word 文档,可以使用下面代码就可以输出 Word 文档里面的内容
可以看到代码非常简单,但是如果想要将整个 Word 的文档的内容解析出来,这个就复杂一些
我写了一些解析的文档,其实 Word 主要就是文本解析部分复杂,请看 Office 使用 OpenXML SDK 解析文档博客目录
代码放在 github 欢迎小伙伴访问
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。