今天财务一同事打开excel文件后发现用了好几个月的某个表格打开后出错了,里面的内容丢失了一部分,就是关键性的列内容不显示了,如下图
部分单元格内容丢失
那么遇到这种情况这个表格还有救吗?这得看是哪种错误导致的,我们把表格复制到本地,然后打开。
会出现一个错误提示,主要是说有 XML 错误的 /xl/sharedStrings.xml,也就是sharedStrings.xml文件出错了,它是一个共享的单元格内容文件。
我们先把excel文件复制一份,然后把xlsx后缀更改为.rar,并进行解压缩,所有的xlsx文件都是由一堆文件组成的,可以解压为原始的xml文件,如下图。
xml文件语法非常严格,把sharedStrings.xml文件用浏览器打开看看会出现什么样的错语提示,然后再根据提示进行处理,其实在打开Excel文件的时候就提醒我们了,主要是开始标记与结束标记不匹配导致的,开始与结束标记为<si> </si>,只要会点html的话就很容易理解了。
好了,对于这个文件有两种修复方法
第三方软件修复可以使用第三方的软件进行修复此问题,但是试了好多个修复工具后发现只有XLSX Open File Tool才能准确的修复,但是它是收费的,不付费只能看不能保存,最便宜价格199元,如果你的文件比较小,丢的内容也不多,对比着修复的内容自己填进去就行了,如果文件大那就购买软件修复吧,留着以后还能用。
手工修复如果不想花钱还想要修复文件,那么可以手工进行修复,就是把sharedStrings.xml文件中的开始和结束标记补全就可以了,听起来很复杂,其实很简单,<si>和</si>是一一对应的,两者的数量一样多才对。
第一步:可以使用记事本或vs code编辑器来打开sharedStrings.xml文件,然后进行查找和替换,把所有的</r><si>替换成</r></si><si>,然后保存。
第二步:把修改好的sharedStrings.xml文件替换掉压缩包中的此文件。
第三步:把rar的后缀名再改回xlsx。
双击打开试试,大多数情况下就能正常打开你的Excel文件了。
怎么避免Excel文件中开始与结束标记不匹配的问题了通过在网上查找资料发现导致这种原因的问题有很多,大致如下
1、表格中不要使用大量的外部链接
2、不要使用复杂的引用,能不引用就尽量别引用
3、不要从网页或软件导出的表格中直接复制粘贴,一些样式会导致此问题
4、不要设置复杂的格式,用多大的地方就设置多少的格式,不要设置格式时选择全表范围
5、有网友说搜狗拼音会导致此问题,尽量注意吧。
最重要的是数据和文件要养成经常备份的好习惯