打开已损坏的工作簿时,Excel 将自动启动“文件恢复”模式,还会尝试重新打开并同时修复工作簿。
Excel 并非总能自动启动“文件恢复”模式。 如果无法打开已损坏的工作簿,可尝试手动修复工作簿。
修复工作簿不成功时,还可尝试其他方法来恢复工作簿数据。 作为预防措施,建议经常保存工作簿并在每次保存时创建一个备份副本。 或者可指定 Excel 在特定时间间隔自动创建恢复文件。 这样,即使原始工作簿被意外删除或损坏,你也有权访问完好的工作簿副本。
手动修复损坏的工作簿
-
在“文件”选项卡上,单击“打开”。
-
在 Excel 2016 中,单击电子表格所在的位置,然后单击“ 浏览”。
-
在“打开”对话框中,选择要打开的已损坏工作簿。
-
单击“打开”按钮旁边的箭头,然后单击“打开并修复”。
-
请执行下列操作之一:
-
要尽可能多地恢复工作簿数据,请单击“修复”。
-
若要在尝试修复工作簿失败时从工作簿提取值和公式,请单击“提取数据”。
-
从损坏的工作簿恢复数据
下列方法有助于挽救可能会丢失的数据。 如果一种方法不成功,可尝试另一种。 如果使用这些方法无法恢复数据,还可用第三方软件解决方案尝试恢复工作簿数据。
重要: 如果磁盘错误或网络错误导致无法打开工作簿,请在尝试使用下列任意恢复选项之前,将工作簿移至不同的硬盘驱动器,或从网络移至本地磁盘。
-
若要在工作簿在 Excel 中打开时恢复数据,请执行以下操作之一:
-
将工作簿恢复到最后一次保存的版本 如果正在编辑工作表,并且工作簿在保存更改之前已损坏,则可以通过将原始工作表还原到上次保存的版本来恢复该工作表。
若要将工作簿还原为上次保存的版本,请执行以下操作:
-
在“文件”选项卡上,单击“打开”。
-
双击在 Excel 中打开的工作簿的名称。
-
单击“是”,重新打开该工作簿。
注意: 工作簿将还原为上次保存的工作簿版本。 这将放弃所有可能导致工作簿损坏的更改。 有关如何恢复工作簿早期版本的详细信息,请参阅自动保存和恢复 Office 文件。
-
-
将工作簿保存为 SYLK (符号链接) 格式 通过将工作簿保存为 SYLK 格式,您可以筛选掉损坏的元素。 SYLK 格式通常用于删除打印机损坏。
若要以 SYLK 格式保存工作簿,请执行以下操作:
-
单击“文件”选项卡,然后单击“另存为”。
-
在“保存类型”列表中,单击“SYLK(符号链接)”,然后单击“保存”。
注意: 使用 SYLK 文件格式时,仅会保存工作簿中的活动工作表。
-
如果消息提示所选文件类型不支持包含多个工作表的工作簿,请单击“确定”,以仅保存活动工作表。
-
如果消息提示工作簿可能包含与 SYLK 格式不兼容的功能,请单击“是”。
-
在“文件”选项卡上,单击“打开”。
-
选择保存的 .slk 文件,然后单击“打开”。
注意: 若要查看 .slk 文件,请单击“文件类型”列表中的“所有文件”或“SYLK 文件”。
-
在“文件”选项卡上,单击“另存为”。
-
在“保存类型”框中,单击“Excel 工作簿”。
-
在“文件名”框中键入工作簿的新名称以创建副本,而不替换原始工作簿,然后单击“保存”。
注意: 由于此格式仅会保存工作簿中的活动工作表,因此必须重复打开损坏的工作簿并分别保存每个工作表。
-
-
-
若要在无法在 Excel 中打开工作簿时恢复数据,请执行以下操作之一:
-
将 Excel 中的计算选项设置为手动 若要打开工作簿,请尝试将计算设置从自动更改为手动。 因为这样不会重新计算工作簿,或许能够打开它。
若要将 Excel 中的计算选项设置为手动,请执行以下操作:
-
确保在 Excel 中打开一个新的空白工作簿。 如果打开的不是空白工作簿,请执行以下操作:
-
-
在“文件”选项卡上,单击“新建”。
-
在“可用模板”下,单击“空白工作薄”。
-
在“文件”选项卡上,单击“选项”。
-
在“公式”类别中的“计算选项”下,单击“手动”。
-
单击“确定”。
-
在“文件”选项卡上,单击“打开”。
-
选择损坏的工作簿,然后单击“打开”。
-
-
使用外部引用链接到损坏的工作簿 如果只想从工作簿中检索数据,而不检索公式或计算值,可以使用外部引用链接到损坏的工作簿。
若要使用外部引用链接到损坏的工作簿,请执行以下操作:
-
在“文件”选项卡上,单击“打开”。
-
选择包含损坏工作簿的文件夹,复制损坏工作簿的文件名,然后单击“取消”。
-
单击“文件”选项卡,然后单击“新建”。
-
在“可用模板”下,单击“空白工作薄”。
-
在新工作簿的单元格 A1 中,键入“=文件名!A1”,其中“文件名”是在步骤 2 中复制的损坏工作簿的名称,然后按 ENTER。
提示: 必须只输入工作簿的名称 - 而不必键入文件扩展名。
-
如果出现“更新值”对话框,请选择损坏的工作簿,然后单击“确定”。
-
如果出现“选择工作表”对话框,请选择适当的工作表,然后单击“确定”。
-
选择单元格 A1。
-
在“开始”选项卡上的“剪贴板”组中,单击“复制”。
-
选择大小与损坏工作簿中包含数据的单元格区域大致相同的区域(从单元格 A1 开始)。
-
在“开始”选项卡上的“剪贴板”组中,单击“粘贴”。
-
保持单元格区域的选中状态,在“开始”选项卡的“剪贴板”组中,再次单击“复制”。
-
在“开始”选项卡的“剪贴板”组中,单击“粘贴”下的箭头,然后单击“粘贴值”下的“值”。
注意: 粘贴值可删除指向损坏的工作簿的链接,只保留数据。
-
-
使用宏从损坏的工作簿中提取数据 如果图表链接到损坏的工作簿,则可以使用宏提取图表的源数据。
若要使用宏,请执行以下操作:
-
在模块工作表中输入下面的宏代码:
Sub GetChartValues() Dim NumberOfRows As Integer Dim X As Object Counter = 2
' Calculate the number of rows of data. NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values) Worksheets("ChartData").Cells(1, 1) = "X Values"
' Write x-axis values to worksheet. With Worksheets("ChartData") .Range(.Cells(2, 1), _ .Cells(NumberOfRows + 1, 1)) = _
Application.Transpose(ActiveChart.SeriesCollection(1).XValues) End With ' Loop through all series in the chart and write their values to
' the worksheet. 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
-
将新工作表插入工作簿中并将其重命名为 ChartData。
-
选择您要从中提取基础数据值的图表。
-
注意: 图表可以嵌入在工作表中或嵌入在单独的图表工作表中。
-
运行 GetChartValues 宏。
-
图表中的数据将置于 ChartData 工作表中。
-
-
自动保存工作簿的备份副本
即使原始工作簿被意外删除或损坏,自动保存工作簿的备份副本也有助于确保你能够访问完好的工作簿副本。
-
在“文件”选项卡上,单击“另存为”。
-
在Excel 2016 中,单击电子表格所在的位置,然后单击“ 浏览”。
-
单击“工具”(位于“保存”旁)旁边的下拉箭头,然后单击“常规选项”。
-
选中“始终创建备份”复选框。
若要深入了解如何保存和恢复工作簿早期版本,以及如何恢复新工作簿(未保存过的),请参阅恢复 Office 文件。
自动在特定时间间隔创建恢复文件
即使原始工作簿被意外删除或损坏,将 Excel 配置为定期创建工作簿的恢复文件也有助于确保你能够访问完好的工作簿副本。
-
在“文件”选项卡上,单击“选项”。
-
在“保存”类别中的“保存工作簿”下,选中“保存自动恢复信息时间间隔”复选框,然后输入分钟数。
-
在“自动恢复文件位置”框中,输入要用于保存恢复文件的位置。
-
确保未选中“仅禁用此工作簿的自动恢复”复选框。
若要深入了解如何保存和恢复工作簿早期版本,以及如何恢复新工作簿(未保存过的),请参阅恢复 Office 文件。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。