Applies ToMicrosoft 365 专属 Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

当 Microsoft Excel 在打开时检测到损坏的工作簿时,它将自动启动“文件恢复”模式,然后尝试修复工作簿。 如果没有启动“文件恢复”模式,请尝试使用此手动过程恢复工作簿:

  1. 单击“文件”>“打开”。

  2. 单击包含损坏的工作簿的位置和文件夹。

  3. 在“打开”对话框中,选择损坏的工作簿。

  4. 单击“打开”按钮旁边的箭头,然后单击“打开并修复”

    “打开并修复”命令

  5. 要尽可能多地恢复工作簿数据,请单击“修复”。

    如果“修复”无法恢复您的数据,请选择“提取数据”以从工作簿中提取值和公式。

如果自动和手动修复都不起作用,有一些恢复方法可能有助于挽救数据。 您也可以采取一些预防性措施以避免丢失所做的工作,方法是自动保存工作簿的备份副本或不时地创建恢复文件。

从损坏的工作簿恢复数据

选择下列方法之一以帮助恢复您的数据。 如果未成功,请尝试其他方法。 也可以尝试使用第三方软件解决方案来恢复工作簿。

重要: 如果磁盘错误或网络错误导致您无法打开工作簿,请在尝试使用下列任何恢复选项之前,将工作簿移至不同的硬盘驱动器或本地磁盘。

当工作簿在 Excel 中打开时恢复数据

  • 将工作簿恢复到最后一次保存的版本    在工作期间,如果工作簿在您保存所做的更改之前损坏,您可以将工作簿恢复到最后一次保存的版本:

    1. 单击“文件”>“打开”。

    2. 双击在 Excel 中打开的工作簿的名称。

    3. 单击“是”,重新打开该工作簿。

      该工作簿将打开,其中不含任何可能导致工作簿损坏的更改。

当无法在 Excel 中打开工作簿时恢复数据

  • 将 Excel 中的计算选项设置为手动    尝试将计算设置从自动更改为手动。 因为这样不会重新计算工作簿,或许能够打开它。

    1. 单击“文件”>“新建”

    2. 在“新建”下,单击“空白工作簿”。

    3. 单击“文件”>“选项”。

    4. 在“公式”类别中的“计算选项”下,选择“手动”,然后单击“确定”。

    5. 单击“文件”>“打开”。

    6. 找到并双击损坏的工作簿以将其打开。

  • 使用外部引用链接到损坏的工作簿    要只从工作簿检索数据,而不检索公式或计算值,请尝试使用外部引用链接到损坏的工作簿。

    1. 单击“文件”>“打开”。

    2. 转到包含损坏的工作簿的文件夹。

    3. 右键单击损坏的工作簿的文件名,单击“复制”,然后单击“取消”。

    4. 单击“文件”>“新建”

    5. 在“新建”下,单击“空白工作簿”。

    6. 在新工作簿的单元格 A1 中,键入“=文件名!A1”,其中“文件名”是在步骤 3 中复制的损坏工作簿的名称,然后按 Enter。

      注意:  您必须只输入工作簿的名称,而不必键入文件扩展名。

    7. 如果出现“更新值”对话框,请选择损坏的工作簿,然后单击“确定”

    8. 如果出现“选择工作表”对话框,请选择适当的工作表,然后单击“确定”

    9. 选择单元格 A1。

    10. 单击“开始”>“复制”,或者按 Ctrl+C。

    11. 选择大小与损坏工作簿中包含数据的单元格区域大致相同的区域(从单元格 A1 开始)。

    12. 单击“开始”>“粘贴”,或按 Ctrl+V。

    13. 在单元格区域仍为选中状态的情况下,再次单击“开始”>“复制”,或者按 Ctrl+C。

    14. 单击“开始”>“粘贴”下方的箭头,然后在“粘贴值”下单击“”。

      粘贴值可删除指向损坏的工作簿的链接,只保留数据。

  • 使用宏从损坏的工作簿中提取数据    如果图表链接到损坏的工作簿,请尝试使用宏提取图表的源数据。

    1. 复制下面的宏代码并将其粘贴到模块工作表:

      Sub GetChartValues()

      Dim NumberOfRows As Integer

      Dim X As Object

      Counter = 2

      ' 计算数据的行数。

      NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)

      Worksheets("ChartData").Cells(1, 1) = "X Values"

      ' 将 x 轴值写入工作表。

      With Worksheets("ChartData")

      .Range(.Cells(2, 1), _

      .Cells(NumberOfRows + 1, 1)) = _

      Application.Transpose(ActiveChart.SeriesCollection(1).XValues)

      End With

      ' 循环遍历图表中的所有系列,并将其值写入

      ' 工作表。

      For Each X In ActiveChart.SeriesCollection

      Worksheets("ChartData").Cells(1, Counter) = X.Name

      With Worksheets("ChartData")

      .Range(.Cells(2, Counter), _

      .Cells(NumberOfRows + 1, Counter)) = _

      Application.Transpose(X.Values)

      End With

      Counter = Counter + 1

      Next

      End Sub

    2. 在工作簿中插入或删除工作表,右键单击其工作表标签,然后将其重命名为 ChartData

    3. 选择您要从中提取基础数据值的图表。

      注意: 图表可以嵌入在工作表中或嵌入在单独的图表工作表中。

    4. 运行宏

    5. 图表中的数据将置于 ChartData 工作表中。

返回页首

自动保存工作簿的备份副本

使用工作簿的备份副本,您始终可以在工作簿被意外删除或已损坏时访问您的数据。

  1. 单击“文件”>“另存为”。

  2. 单击“计算机”,然后单击“浏览”按钮。

    “浏览”按钮

  3. 在“另存为”对话框中,单击“工具”旁边的箭头,然后单击“常规选项”。

    “工具”菜单上的常规选项

  4. 在“常规选项”对话框中,选中“始终创建备份”框。

    始终在“常规选项”对话框中创建备份选项。

返回页首

以设置的时间间隔自动创建恢复文件

工作簿的恢复文件还有助于确保您可以在工作簿被意外删除或已损坏时访问您的数据。

  1. 单击“文件”>“选项”。

  2. “保存” 类别的“ 保存工作簿”下,选中“ 保存每个自动恢复信息 ”框,然后输入分钟数。 (默认值为 10.)

    “Excel 选项”对话框中的“保存”选项卡上的“自动恢复”选项

  3. “自动恢复文件位置”框中,输入要用于保存恢复文件的位置。

  4. 确保未选中“仅禁用此工作簿的自动恢复”复选框。

返回页首

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。