微软官方知识:了解 Office 二进制文件格式
2025-04-12 本站作者 【 字体:大 中 小 】
供稿人:Microsoft Corporation
目录
本文是介绍 Microsoft Office 产品使用的二进制文件格式的系列文章中的第一篇。这第一篇文章笼统地概述了如何使用 Microsoft Office 二进制文件格式,并解释不同格式共有的一些结构特征和主要概念。本系列中的其他文章提供有关各个文件格式的更多详细信息。应将这些文章与 MSDN 上提供的Microsoft Office File Format Documents (该链接可能指向英文页面)结合起来阅读。
本系列文章仅讨论四个核心 Microsoft Office 产品:Microsoft Word、Microsoft PowerPoint、Microsoft Excel 和 Microsoft Outlook。
什么是二进制文件格式?
二进制文件格式是主要包含二进制数据的任何文件格式。这包括编译的程序、图像、媒体和多数压缩文件,以及可能包含文本信息但存储为二进制数据的文件。Microsoft Office 产品使用的二进制文件格式就属于后一种情况。非二进制格式可能包括文本 (.txt), .html, .xml 及其派生形式、已解释脚本和源代码文件。
Microsoft Office 二进制文件格式的所有文件数据存在于一个或多个流中。每个流均包含用于存储元数据(如用户和系统信息、文件属性、格式信息、文本内容和媒体内容)的数据结构。这些数据结构表示为主机程序通过其用户界面解释和呈现的多组十六进制数字。
同时,流中的数据结构的组织方式各有不同。最常见的数据单元是记录。记录通常包含一些字段和标记形式的文件元数据。这包括一个或多个指示其他相关记录或其他数据的位置的偏移值。文本存储为表示 ANSI 或 Unicode 字符的数值。图像可存储为外部文件的指针,或存储为其自己的二进制文件格式的嵌入图像,如文件中的 .gif, .jpeg 或 .png。较活跃的内容(如 PowerPoint 幻灯片切换)使用阐释时所需的信息(如切换属性)进行标记,然后由主机程序呈现。
MSDN 库中的以下位置全面介绍了 Microsoft Word、Microsoft PowerPoint、Microsoft Excel 和 Microsoft Outlook 使用的文件格式:Microsoft Office File Format Documents (该链接可能指向英文页面)。您可以从那里直接在 MSDN 网站上或以 .pdf 文件格式打开相应文件格式的完整规范。
注释:
在 Microsoft Office 中执行大多数编程任务的推荐方法是使用Office 主互操作程序集 (该链接可能指向英文页面)。这些程序集是一组提供可用于 Microsoft Office 的完整对象模型的 .NET 类。本系列文章只涉及高级方案,如未安装 Microsoft Office 的情形。
哪些版本的 Microsoft Office 使用二进制文件格式文件?
本文讨论的 Microsoft Office 二进制文件格式主要由 Microsoft Outlook、Microsoft Excel 和以前版本的 Microsoft Word 和 Microsoft PowerPoint 使用。Microsoft Office Word 2007 和 Office PowerPoint 2007 使用基于 XML 的文件格式作为其默认文件格式,而 Microsoft Excel 2010 使用较新的二进制格式。下表显示适用于特定版本的 Word、Excel、PowerPoint 和 Outlook 的二进制文件格式文件。
文件格式 应用程序版本
MS-DOC
MS-PPT
MS-PST
MS-XLS
MS-XLSB
需要使用 Microsoft Office 文件但未安装原始主机应用程序的公司也使用基于 Microsoft Office 二进制文件格式的文件。Microsoft 以外的一些常见使用情形包括自定义跨文档搜索工具,从受损文件恢复数据或者为了与其他应用程序兼容而进行读取和写入。
查看基于 Microsoft Office 二进制文件格式的文件中的内容
到目前为止,查看 Microsoft Office 二进制文件的最简单方法是使用创建该文件的主机程序。例如,通过使用 Word 查看 .doc 文件,或使用 PowerPoint 查看 .ppt 文件。该方法可向用户显示内容的视图,如文本、格式和用户界面的一般状态。
您可以使用 Office 可视化工具 offvis.exe 获得结构更清晰的二进制文件视图。通过下面的链接,您可以直接从下载中心下载此工具:(该链接可能指向英文页面)。将任何 Microsoft Office 二进制文件加载到可视化工具中时,您会看到两个窗格。导航窗格显示原始文件内容,每行均显示当前偏移量、一个十六进制数字链,及其文本表示形式(如果有)。结果窗格显示包含当前数据结构的名称、值、偏移位置、大小和类型的分析结果。下面的屏幕截图显示可视化工具中包含“Hello, world”文本的 .doc 文件的一部分。其中选择了字母“w”。这会导致可视化工具突出显示相应的十六进制数字和数据结构。
图 1. offvis.exe 中呈现的 HelloWorld.doc
创建自定义二进制文件格式查看器
您可以创建自定义查看器,然后利用它来设定特定内容的目标,或熟悉文件格式。您的查看器必须读取数据流,解释其中的结构,并在不同的偏移值之间导航以查找要显示的文本和任何其他内容。对于每个文件类型,这些数据结构都是不同的,但在每种情形下,过程是类似的。
查找基于二进制文件格式的文件中的内容
读取文件流。
识别可能包含要查找的内容的结构。
在第一个结构中,找到指定要查找的下一节的位置的偏移值。
在流中转到该节。
重复前面两个步骤,直到找到所需的内容。
读取并分析内容。
根据您的需要,简单的文本提取程序可能需要不到 100 行代码,模拟原始主机程序可能需要几百万行代码。
编辑基于 Office 二进制文件格式的文件
一般来说,任何时候都不要尝试直接编辑 Microsoft Office 二进制文件,而应使用“保存”操作,这与将文档发送到打印机类似。例如,当打印 Word 文档时,您不会将整个 .doc 文件发送到打印机进行呈现。相反,Word 会创建文档的快照,其格式根据打印机规范进行设置。打印机可能有解释字体的逻辑,但所有布局信息均由发送应用程序处理。
同样,当以二进制格式保存文件时,主机应用程序会在内存中将数据转换为指定的二进制格式,并创建文件。如果已存在具有相同名称的文件,则新文件会覆盖原来的文件。
此方法有诸多优点。
所以,编辑二进制格式文件的过程实际上包括三个步骤。
编辑基于二进制文件格式的文件
将文件读取为内部表示形式。
在应用程序中编辑该内部表示形式。
将该表示形式保存为二进制格式,使用与源文件相同的文件名和位置。
结论
了解和使用二进制文件格式可能是个挑战。希望通过了解基础结构和尝试本系列文章中提供的一些过程,您可以仅通过开放规范文档和一些可下载工具来深入研究更复杂的实现方案。
其他资源
有关详细信息,请参阅以下资源:
猜你喜欢
V80 大跨度钢结构安装工艺(三)整体提升
216
Mercury水星无线路由器怎么安装设置
144
著名影视表演艺术家薛中锐去世,曾出演《康熙王朝》索额图
97
光盘映像文件是什么?光盘映像文件怎么安装?光盘映像文件安装方法
184
华策影视竞争环境分析.docx
207
五一千万不要来上海!如果非要来的话…(附景区客流查询小工具)
202
我校牵头成立国家职业教育教师创新团队(影视动画专业领域)协作共同体
183
知名导演刘匀禾 著名相声表演艺术家常佩业 影视歌演员薛媛会谈影视剧新片
97
如何处理旧水泥地面问题?六大方法全解析
96
浙江唐德影视股份有限公司2023年年度报告摘要
171
北京森歌集成灶维修电话售后服务400热线全市统一报修网点《今日发布》
为什么现在修车行业没人干了?修车改行的都干嘛去了?
月薪过万难招一名汽修工 新能源车4S店四处网罗“三电”熟手师傅
5000亿住宅维修基金沉睡 小区公共收益成糊涂账
沧州学挖掘机哪里好?培训办证多少钱?
房屋维修基金你用过吗 青岛这五种情况不能动
尼康两款镜头一款相机新固件更新:谁也不能落下
怎么查车辆维保记录?只需3招帮你搞定二手车维保记录明细
离合器出现打滑故障,教你怎么做应急处理
离合器打滑的原因,该怎么修理?这篇文章来给你答案!



