如何修复损坏的 Excel 文件

如何修复损坏的 Excel 文件

我正在尝试为一位朋友恢复一些文件,他过早地将 USB 拔出计算机,导致其损坏。通过搜索不可见分区,我能够恢复文件。所有文件都完好无损,除了 1 个 Excel 文件似乎已损坏。

我搜索了修复 Excel 文件的方法,因为 Excel 2003-2010 中的默认修复选项不适用于此文件。我遇到了许多第三方应用程序,其中似乎有一个可以完成这项工作:Recovery Toolbox for Excel。

当然,我发现这款应用和所有其他应用都需要付费才能修复文件。花 30 美元购买一次性的东西似乎有点愚蠢,而且这些东西不是给我自己用的。所以,我想把它作为最后的选择。

有什么我可以尝试修复这个问题吗?我附上了将文件转换为 HTML 文件后在 OSX 上打开时的文件的屏幕截图(以查看代码),以说明这可能是字符集问题。

在此处输入图片描述

答案1

虽然不能保证一定有效,但可以尝试一下开发办公室或者自由办公室可以打开文件。这些软件套件对有问题的 Word 文件当然更宽容,我通过这种方式挽救了一些文档。

答案2

礼貌科技共和国。其中人物位于:

1:让 Excel 尝试

如果 Excel 的自动恢复模式失败,则可以使用手动功能来恢复损坏的工作簿:

  1. 从文件菜单中选择打开。在 Excel 2007 中,单击 Office 按钮并选择打开。
  2. 使用“查找范围”控件,找到并指定损坏的工作簿。
  3. 从“打开”按钮的下拉列表中,如图所示图A,选择打开并修复。
  4. 如果这是您第一次尝试手动恢复工作簿,请在出现的对话框中单击“修复”,如图所示图B

图A

尝试手动恢复损坏的工作簿。

图B

您可以修复工作簿或从损坏的工作簿中提取数据。

如果幸运的话,Excel 会修复文件。但是,此功能在 Excel 出现问题时恢复文件,因此它不会恢复所有损坏的文件。一旦您尝试了所有方法恢复文件,您可能只能恢复数据。在这种情况下,请单击步骤 4 中的“提取数据”。

2:如果在工作簿打开时发生损坏

如果在工作簿打开时发生损坏,请不要保存工作簿。您只会保存损坏工作簿的内容以及最近的更改。相反,请恢复到上次保存的版本。这样做而不先保存应该会丢弃损坏的组件。您可能会丢失数据,但通常您可以足够快地重建(经常保存工作的一个很好的理由)。要恢复到上次保存的版本,请执行以下操作:

  1. 从文件菜单中选择打开。在 Excel 2007 中,单击 Office 按钮并选择打开。
  2. 使用“查找范围”控件,找到并指定损坏的工作簿。
  3. 单击“打开”。

您实际上只是重新打开工作簿 - 并没有什么特别的事情发生。

3:禁用自动计算

如果 Excel 无法自行打开文件或无法通过“打开并修复”选项打开文件,请尝试将计算方法设置为手动,然后重试。要重置计算设置:

  1. 打开一个新的空白工作簿。
  2. 从“工具”菜单中,选择“选项”,然后单击“计算”选项卡。在 Excel 2007 中,单击 Office 按钮,单击“Excel 选项”,然后在左侧面板中选择“公式”。
  3. 在“计算”部分(Excel 2007 中的“计算选项”),单击“手动”。
  4. 单击“确定”。

然后尝试打开损坏的工作簿。有时,如果无需重新计算,Excel 可以打开损坏的工作簿。

4:尝试 Microsoft Office 工具

如果 Excel 无法打开损坏的工作簿,请尝试使用 Microsoft Office 工具:

  1. 从开始菜单中,选择所有程序(在 Windows XP 中)。
  2. 选择 Microsoft Office。
  3. 选择 Microsoft Office 工具。
  4. 选择“Microsoft Office 应用程序恢复”。
  5. 在出现的对话框中,如图所示图C中,选择“Microsoft Office Excel”。
  6. 单击“恢复应用程序”。该过程可能需要几分钟。
  7. 响应“发送报告给 Microsoft”提示。

图C

Office 工具可能会恢复损坏的工作簿。

恢复工具将关闭 Excel,然后重新启动,并显示已恢复工作簿的列表(如果有)。如果您很幸运,损坏的工作簿将出现在列表中。只需打开它并感谢上帝。

5:移动文件

有时,损坏的工作簿实际上并没有按照传统意义上的损坏。它只是无法像往常一样访问;网络和服务器经常将错误伪装成损坏的文件。如果您遇到看似损坏的工作簿而 Excel 无法修复,请将损坏的文件移至另一个文件夹、驱动器或服务器。

6:让竞争对手尝试

有些人声称使用 OpenOffice Suite(Microsoft Office 的免费开源替代品)效果非常好。该套件的 Excel 对应程序 Calc 应该可以打开损坏的 Excel 文件。不幸的是,这意味着需要很长时间才能下载,但如果它有效,那么这一切都是值得的。

7:在写字板或 Word 中打开损坏的工作簿

如果您无法修复工作簿,请尝试在 WordPad 中打开它。如果成功,WordPad 会将所有内容转换为文本 - 但您将更接近恢复重要数据。不幸的是,此方法不会恢复公式。另一方面,与许多其他数据恢复方法不同,WordPad 将恢复您的 VBA 程序(宏)。只需搜索恢复的文本SubFunction找到它们。您可能还可以在 Word 中打开损坏的 .xls 文件,但结果将有限。要使此方法有效,您必须安装 Microsoft Office Excel 转换器。与 WordPad 不同,Word 不会恢复您的程序。

8:使用外部引用

有时,您可以通过引用损坏的工作簿中的实际单元格来恢复数据。您无法恢复公式、格式、图表、宏等,但恢复数据总比什么都恢复要好。要通过引用损坏的工作簿来恢复数据,请执行以下操作:

  1. 打开一个新工作簿并在单元格 A1 中输入以下形式的公式来引用损坏的工作簿中的 A1:=nameofcorruptedworkbook!A1。(您不需要在文件名中包含 .xls。)
  2. 按 Enter 键。
  3. 如果损坏的工作簿不在同一文件夹中,Excel 将显示“更新值:nameofcorruptedworkbook”对话框。使用“查找范围”控件找到损坏的文件。选择该文件并单击“确定”。
  4. 如果出现“选择工作表”对话框,如下图所示图D,选择相应的工作表并单击“确定”。Excel 将显示损坏的工作簿的 A1 单元格中的值。
  5. 选择单元格 A1,并将其拖到所需数量的列中,以容纳损坏文件中的数据。如果 Excel 显示“更新值:nameofcorruptedworkbook”对话框,请选择损坏的文件并单击“确定”。
  6. 重复步骤 5,将 A 行向下复制尽可能多的行,以容纳损坏文件中的数据。
  7. 选择数据并从编辑菜单中选择复制。
  8. 从“编辑”菜单中选择“选择性粘贴”,然后选择“值”,如图所示图E
  9. 单击“确定”。

图D

如果损坏的文件有多个工作表,请指定一个工作表。

图E

用数据替换引用公式。

9:尝试SYLK格式恢复数据

Microsoft 建议使用 SYLK 格式来过滤损坏的元素,尤其是当损坏与打印机相关时。您必须能够打开损坏的工作簿才能执行以下操作:

  1. 从文件菜单中选择另存为。在 Excel 2007 中,单击 Office 按钮。
  2. 从“另存为类型”控件中,选择 SYLK(符号链接)(*.slk),如图所示图F
  3. 为活动工作表指定一个描述性名称,例如,corruptedworkbooknameSheet1。如果工作簿只有一张工作表,则此步骤是不必要的。
  4. 单击保存。
  5. 如果工作簿包含多个工作表,Excel 会询问您是否继续,因为所选格式不支持多个工作表。单击“确定”。
  6. 如果 Excel 提示警告,指出工作簿可能包含与 SYLK 格式不兼容的功能,请单击“是”。

图F

使用 SYLK 格式保存每张表。

需要注意的是,SYLK 格式仅保存活动工作表。但是,除非您关闭并重新打开 .slk 文件,否则您不会注意到该格式已删除了除活动工作表之外的所有页面。要从所有工作表中恢复数据,您必须重新打开损坏的工作簿并单独保存每个工作表。这就是为什么步骤 3 指示您为工作表指定一个描述性名称。您会发现这些名称在重建多工作表工作簿时很有用。将所有工作表保存为 SYLK 格式后,打开其中一个 .slk 文件并使用 .xls 格式重命名。注意不要使用损坏的工作簿的名称。重建工作簿后,您可以丢弃损坏的文件或重命名它,从而释放原始名称。在确定已恢复尽可能多的数据之前,请不要替换它。然后,通过从 .slk 文件导入或复制数据来重建工作簿。这是一个繁琐的过程,但如果没有其他方法,那么值得付出努力。此方法保存公式得出的值,但不保存公式本身。

10:恢复宏

如果您可以通过上述技巧之一恢复数据但无法恢复宏,您仍然可以保存宏 - 至少有时可以。要尝试,请执行以下操作:

  1. 打开 Excel,但不要打开损坏的工作簿。
  2. 将计算模式设置为手动(见#3)。
  3. 从“工具”菜单中选择“宏”,选择“安全性”,然后选择“高”选项。在 Excel 2007 中,单击“Office”按钮,单击“Excel 选项”,然后在左侧面板中选择“信任中心”。然后,单击“信任中心设置”按钮,在左侧面板中选择“宏设置”,在“宏设置”部分中选择“禁用所有宏而不通知”,然后单击“确定”两次。
  4. 打开损坏的工作簿。如果 Excel 打开工作簿,您将看到一条通知,提示宏已被禁用。如果 Excel 关闭,此方法将不起作用。
  5. Alt+F11打开 Visual Basic 编辑器 (VBE)。
  6. 使用项目浏览器(按Ctrl+R),右键单击模块,然后选择导出文件。
  7. 输入模块的名称和文件夹。
  8. 重复步骤 6 和 7 多次,直至导出所有模块。
  9. 关闭 VBE 并退出 Excel。
  10. 打开一个新的空白工作簿(或包含从损坏的工作簿中恢复的数据的新构建的工作簿)并导入模块。

答案3

  1. 将损坏的电子表格上传至 Google Drive。
  2. 右键单击电子表格并选择打开用->Google 表格。Google Sheets 会将电子表格转换为自己的电子表格格式,以便在 Google Sheets 中编辑。
  3. 在 Google 表格中打开的电子表格中选择文件->下载为->Microsoft Excel (.xlsx)。Google Sheets 会将电子表格转换为 .xlsx 格式。
  4. 在 Excel 中打开从 Google Drive 下载的 .xls 文档。

Google Sheets 在将电子表格转换为 .xlsx 格式方面做得很好。Google Sheets 中的两个文件转换可能会删除原始电子表格中导致问题的任何内容。此方法也适用于恢复损坏的 .ods 格式电子表格。

相关内容