FileFix Ultimate
简体中文

如何从损坏的Excel文件中提取数据

即使Excel工作簿损坏到用“打开并修复”和重建包都打不开,里面的单元格数值也往往仍然可以读取。FileFix Ultimate的提取模式会读取它能找到的每个工作表,把数值写入一个新的纯数值.xlsx,并为每个工作表各写一个CSV文件。公式、格式、宏和图片不会带过来,所以请把结果看作你的数据,而不是完整的工作簿。

最后更新:

现在该怎么做

  1. 复制损坏的工作簿,只在副本上操作。
  2. 先试试Excel的“打开并修复”和重建包,它们有可能保留公式和格式。
  3. 如果工作簿仍然打不开,在“损坏文件修复”中选择提取,得到纯数值.xlsx和每个工作表的CSV。
  4. 检查结果的行数和合计,再在需要的地方重建公式和格式。

操作步骤

  1. 复制工作簿

    把.xlsx或.xls文件复制到另一个文件夹或磁盘,原文件保持不动。0 KB的文件里没有可提取的内容,请改为查找自动恢复副本或早期版本。

  2. 先试损失较小的办法

    在Excel中选择“文件”“打开”“浏览”,选中副本,点击“打开”旁的箭头,选择“打开并修复”,再点“修复”或“提取数据”。对于.xlsx,也值得试试FileFix Ultimate“损坏文件修复”中的重建包。两者保留的内容都比提取模式多。

  3. 在“损坏文件修复”中选择提取

    打开“损坏文件修复”并选择工作簿。如果文件无法恢复到可打开状态,程序会提议提取其内容,选择即可。原文件只读取,结果会写成新文件。

  4. 打开纯数值工作簿

    程序会写出一个在原文件名后加上.values.xlsx的新文件。在Excel中打开并逐个查看工作表。文字、数字、TRUE或FALSE、错误值和日期都会出现在原来的行列位置。

  5. 需要时使用CSV文件

    每个工作表还会单独保存为带BOM的UTF-8 CSV文件,因此用Excel打开时中文不会乱码。CSV便于导入其他程序,或与备份进行比对。

  6. 检查并重建

    把合计、行数和几处已知数值与预期对比。然后重新输入关键公式、设置数字格式并重建图表。请保留损坏的原文件,也许专业机构或以后别的工具还能救回更多。

提取模式能从XLSX中读到什么

.xlsx文件是一个ZIP包,每个工作表对应一个XML部件,另外还有字符串表、样式等公共部件。即使工作簿部件、关系、共享字符串或样式已经损坏,提取模式也会在能解压的范围内读取这些部件,按单元格取出共享字符串、内联字符串、数字、布尔值和错误值。

对于公式单元格,它保留的是Excel最后一次计算并保存的结果,而不是公式本身。带日期格式的单元格在新工作簿中写成真正的日期,在CSV中写成ISO日期,所以不会只剩下45231这样的序列号。

Excel 97至2003的旧版XLS文件

旧版.xls文件以二进制BIFF8格式存放在复合文件容器中。如果容器已损坏,提取模式会在整个文件中查找工作簿数据流的起点并从那里开始读取。它能识别常见的单元格记录:共享字符串和标签、数字、RK和多重RK值、布尔值和错误值、已保存的公式结果,以及正确显示日期所需的日期设置。

设置了打开密码的工作簿是加密的,提取模式不会读取。对任何.xls文件,都值得先试试Excel自己的修复,因为它原生支持这种旧格式。

会丢失什么,以及如何使用结果

公式、数字格式、颜色、合并单元格、列宽、图表、数据透视表、图片、批注和宏都不在提取出的文件中。XML部件被截断的工作表可能在中途结束,报告会记录这种情况。以等号、加号、减号或@开头的文字单元格,在CSV中会加上前导撇号,以免电子表格把它们当成公式执行。

最快回到可用文件的办法,往往是把提取出的数值粘贴到同一工作簿的旧副本或模板中,这样公式和布局都已经在那里了。

无法提取的情况

  • 用打开密码加密的工作簿,没有密码无法提取。
  • 0 KB的文件或全是零的文件里没有单元格数据。
  • XML部件或BIFF记录被覆盖的工作表,只能取回可读的行,或者什么也取不回。
  • 提取模式只取出数值,不会恢复公式、格式、图表、图片和宏。

FileFix Ultimate能帮你做什么

  • 从无法恢复到可打开状态的XLSX和旧版XLS工作簿中提取单元格数值。
  • 写出保留行、列和日期的纯数值新.xlsx,以及每个工作表一个UTF-8 CSV。
  • 公式单元格保留最后一次计算结果,并在报告中说明哪些部分没能读取。
  • 不修改原文件,个人使用免费,没有文件大小限制,也不上传。

FileFix Ultimate 个人使用免费、可离线使用,并且不会向你正在恢复的驱动器写入数据。工作或商业用途需为每台电脑购买一年期许可。运行前请检查签名。

常见问题

为什么提取出的文件里公式没了?

提取模式保留的是每个公式最后得出的值,也就是Excel存放在单元格里的值。公式文本依赖经常损坏的部件,因此不会带过来。请重新输入关键公式,或把数值粘贴到仍保留公式的旧副本中。

用Excel打开CSV出现乱码,怎么办?

CSV文件以带BOM的UTF-8写出,当前版本的Excel能自动识别。如果较旧的程序显示乱码,请通过数据导入功能打开,并把编码选为UTF-8。

为什么CSV中有些文字单元格以撇号开头?

以=、+、-或@开头的文字在打开CSV时可能被当作公式执行,所以程序会在这类文字前加一个撇号,让它保持为普通文字。纯数值.xlsx中的文字不受影响。

应该先用提取模式还是普通修复?

先用普通修复。只要相关部件完好,重建包可以保留公式、格式和图表。提取模式是工作簿仍然打不开时的最后办法。

分享此页面