手动修复Word, PPT, Excel, Visio等办公软件文件的常用流程

了解Office的文件格式 —— Open XML 规范

Office文件的格式

Open XML格式,之前称为OOXML,是Office文件格式的标准(自Office 2016开始),如果你看到文件后缀名为x,比如.docx, .pptx, .xlsx, .eddx等,那么它大概率就是Open XML规范的文件格式。
Open XML格式相对于Office之前采用的.doc, .ppt, .xls格式,最大的特点是更易于理解,简单的结构也让它变得容易修复,使得普通人也可以尝试修复损坏的Office文件。

Open XML规范

Open XML规范十分简单:

  1. 一个Office文件(.docx, .pptx, .xlsx, .eddx)就是一个.zip格式的压缩包
  2. 压缩包内,以.xml文本格式存放文档,以其他格式(.jpg, .png等)存放图片等资源。

修复Office文件

Office文件损坏的情况

从上述介绍中可以看出,Open XML格式的文件损坏,无非两种情况:

  1. 压缩包损坏
  2. 压缩包内的文件损坏

那么面对Office文件损坏时,思路就是:
3. 首先检查压缩包是否损坏。这一步方法很多,这里建议直接用7-zip打开Office文件,然后进行压缩包测试。
4. 其次检查压缩包内的文件。一般来讲,资源文件(比如图片)是不太会损坏的,即使损坏也不太会影响Office文件本身。而.xml文件是非常容易损坏的,最常见的情况是.xml语法错误。

案例

我们以一个Visio的.eddx文件为例,该文件是花一整天时间使用第三方软件绘制的论文配图,但不幸损坏,重新绘制的成本很高。
损坏表现:该文件用第三方打开后出现空白,用Visio打开后也是空白,但文件体积有3MB。
修复:

  1. 将文件后缀名改为.zip, 用7-zip打开。
  2. 可以看到文件能够正常用7-zip打开。然后用7-zip的压缩包测试功能,测试到zip文件未损坏。
    1.png
  3. 逐一检查media下的文件和thumbnail.jpeg文件,将它们恢复出来。
  4. 检查所有xml文件。排查两点: 一是是否符合xml语法规范,而是是否符合Open XML规范。一般来讲第一点比较容易,第二点需要了解Open XML的语法文档。
  5. 将xml文件逐一用语法检查器进行检查。可以用在线的语法检查器,比如 xmllint.com 或者用Edge浏览器打开xml文件也可以。
    我们发现pages/page1.xml文件有损坏的情况:
    在这里插入图片描述
    损坏错误的原因是出现了未配对的XML标签,并且也告诉了我们错误的位置。
    定位到那个位置,可以发现它在文件末尾出现了大量空白的标签。
                        <Text>
                            <pp PX="0" CX="0">
                                <tp CX="1"></>
                            </>
                        </>
                    </>
                </>
            </>
            <>
                <>
                    < =""/>
                    < =""/>
                    < =""/>
                    < =""/>
                    < =""/>
                    <>
                        < =""/>
                        < =""/>
                    </>
                    <>
                        < ="" ="" =""/>
                        < =""/>
                    </>
                    <>
                        < ="" ="" =""/>
                        < ="" ="" =""/>
                    </>
                    <>
                        < =""/>
                        < ="" ="" =""/>
                    </>

我们可以据此推测这是第三方软件在写入Visio格式时出现了BUG,损坏了用户的文件。请大家在选择第三方软件,尤其是关键的基础软件时,一定要慎重。

  1. 删除错误部分,补全XML标签。我们删掉所有空白的标签,然后重新补全XML文件的标签:
                        <Text>
                            <pp PX="0" CX="0">
                                <tp CX="1"></tp>
                            </pp>
                        <Text>
  1. 重新压缩,构建新的Office文件。将修补好的.xml文件拖入压缩包的相同位置中,替换损坏的.xml。然后将.zip文件重命名未.eddx文件。
  2. 打开新的Office文件,并祝自己好运。
    我们的运气不错,新的Office文件能够正常打开。只是丢失了少量内容而已。

总结

得益于Open XML文件格式,Office文件的修复不再是专家级别的任务了,如果运气好的话,稍微有一些XML经验的人,也可以尝试修复Office文件了。

参考资料:

  1. Open XML 格式和文件扩展名

本文为原创文章。创作过程中没有使用AI。
本文最初发布于CSDN,SegmentFault等平台。采用 CC BY-NC-SA 4.0 国际 许可协议进行许可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值