打开损坏的工作簿时,Microsoft Office Excel 2007会自动启动“文件恢复”模式,尝试重新打开并同时修复该工作簿。
Excel 无法自动启动“文件恢复”模式。如果因为工作簿已经损坏而无法将其打开,可以尝试手动修复该工作簿。
您还可以在修复工作簿失败时尝试使用其他方法来恢复工作簿数据。作为预防措施,您可能需要经常保存工作簿并在每次保存工作簿时创建备份副本。或者, 您也可以指定让 Excel 定期自动创建恢复文件。这样,如果将原工作簿意外删除或者它受到损坏,您将有权访问正常的工作簿副本。
手动修复损坏的工作簿
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 在“打开”对话框中,选择要打开的损环工作簿。
- 单击“打开”按钮旁边的箭头,然后单击“打开并修复”。
- 请执行下列操作之一:
- 要尽量多恢复工作簿数据,请单击“修复”。
- 要在尝试修复工作簿失败时从工作簿中提取值和公式,请单击“提取数据”。
从损坏的工作簿恢复数据
下列方法可以帮助您回收可能会丢失的数据。如果一种方法失效,请尝试使用另一种方法。如果使用这些方法无法恢复数据,也可以尝试使用第三方软件解决方案来恢复工作簿数据。
要点 如果由于磁盘错误或网络错误而导致无法打开工作簿,请先将该工作簿移至不同的硬盘驱动器上或者从网络移动到本地磁盘,然后再花时间尝试使用下列恢复选项。
- 要在工作簿在 Excel 中打开时恢复数据,请执行下列操作之一:
- 将工作簿恢复到最后一次保存的版本 如果您在编辑工作表并且在您保存更改之前工作簿损坏,则可以通过将工作表恢复到最后一次保存的版本来恢复原始工作表。
要将工作簿恢复到最后一次保存的版本,请执行以下操作:
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 双击在 Excel 中打开的工作簿的名称。
- 单击“是”,重新打开该工作簿。
注释 该工作簿会恢复为最后一次保存的工作簿版本。可能会导致工作簿受损的所有更改均会被放弃。
- 以 SYLK(符号链接)格式保存工作簿 通过使用 SYLK 格式保存工作簿,可以将损坏的元素筛选出来。SYLK 格式通常用于解决打印机损坏问题。
要使用 SYLK 格式保存工作簿,请执行以下操作:
- 单击“Microsoft Office 按钮”,然后指向“另存为”旁边的箭头。
- 在“保存类型”列表中,单击“SYLK(符号链接)”,然后单击“保存”。
注释 使用 SYLK 文件格式将只保存工作簿中活动的工作表。
- 如果出现一条消息,提示您所选择的文件类型不支持包含多个工作表的工作簿,请单击“确定”,只保存活动的工作表。
- 如果出现一条消息,提示您工作簿可能包含与 SYLK 格式不兼容的功能,请单击“是”。
- 单击“Microsoft Office 按钮”,然后单击“关闭”。
- 如果出现一条消息,提示您保存所做出的更改,请单击“是”。
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 选择所保存的 .slk 文件,然后单击“打开”。
注释 要查看 .slk 文件,可能需要在“文件类型”列表中单击“所有文件”或“SYLK 文件”。
- 单击“Microsoft Office 按钮”,然后指向“另存为”旁边的箭头。
- 在“保存类型”框中,单击“Excel 工作簿”。
- 在“文件名”框中,为工作簿键入一个新名称以在不替换原始工作簿的情况下创建副本,然后单击“保存”。
注释 由于此格式仅保存工作簿中的活动工作表,因此您必须重复打开损坏的工作簿并单独保存每个工作表。
- 使用超文本标记语言 (HTML) 格式保存工作簿 通过使用 HTML 格式保存工作簿,也许能够将损坏的元素筛选出来。
要使用 HTML 格式保存工作簿,请执行以下操作:
- 单击“Microsoft Office 按钮”,然后指向“另存为”旁边的箭头。
- 在“保存类型”列表中,单击“网页”。
- 单击“发布”。
- 在“发布内容”下的“选择”框中,单击“整个工作簿”,然后单击“发布”。
- 单击“Microsoft Office 按钮”,然后单击“关闭”。
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 选择所保存的 HTML 文档,然后单击“打开”。
注释 要查看所有 HTML 文档,可能需要单击“文件类型”列表中的“所有文件”或“所有网页”。
- 单击“Microsoft Office 按钮”,然后指向“另存为”旁边的箭头。
- 在“保存类型”列表中,单击“Excel 工作簿”。
- 在“文件名”框中,为工作簿键入一个新名称以在不替换原始工作簿的情况下创建副本,然后单击“保存”。
注释 以 HTML 格式保存工作簿时可能会丢失某些功能。
- 要在无法用 Excel 打开工作簿时恢复数据,请执行下列操作之一:
- 将 Excel 中的计算选项设置为“手动” 要打开工作簿,请尝试将计算设置从“自动”更改为“手动”。因为不会重新计算工作簿,所以它可能会打开。
要将 Excel 中的计算选项设置为“手动”,请执行以下操作:
- 确保在 Excel 中打开新的空白工作簿。如果未打开新的空白工作簿,请执行以下操作:
- 单击“Microsoft Office 按钮”,然后单击“新建”。
- 在“新建空白”下,单击“空白文档”。
- 单击“Microsoft Office 按钮”,然后单击“Excel 选项”。
- 在“公式”类别中的“计算工作簿”选项下,单击“手动”。
- 单击“确定”。
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 选择损坏的工作簿,然后单击“打开”。
- 使用外部引用链接到损坏的工作簿 如果只想检索数据而不检索工作簿中的公式或值,可以使用外部引用链接到损坏的工作簿。
要使用外部引用链接到损坏的工作簿,请执行以下操作:
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 在“查找范围”框中,选择包含损坏的工作簿的文件夹,然后单击“取消”。
- 单击“Microsoft Office 按钮”,然后单击“新建”。
- 在“新建空白”下,单击“空白文档”。
- 在新工作簿的单元格 A1 中,键入=文件名!A1,其中文件名 是损坏的工作簿的名称,然后按 Enter。
提示 您必须只输入工作簿的名称,而不必键入扩展名。
- 单击该工作簿,然后单击“确定”。
- 如果显示“选择工作表”对话框,请选择适当的工作表,单击“确定”。
- 选择单元格 A1。
- 在“开始”选项卡上的“剪贴板”组中,单击“复制”。
键盘快捷方式 也可以按 Ctrl+C。
- 选择大小与损坏的工作簿中包含数据的单元格区域大致相同的区域。
- 在“开始”选项卡上的“剪贴板”组中,单击“粘贴”。
键盘快捷方式 也可以按 Ctrl+V。
- 选中单元格区域后,在“开始”选项卡上的“剪贴板”组中,再次单击“复制”。
键盘快捷方式 也可以按 Ctrl+C。
- 在“开始”选项卡上的“剪贴板”组中,单击“粘贴”旁边的箭头,然后单击“选择性粘贴”。
- 在“粘贴”下,选择“值”,然后单击“确定”。
注释 粘贴值可删除指向损坏的工作簿的链接,只保留数据。
- 在 Microsoft Office Word 或 Microsoft 写字板中打开损坏的工作簿 如果安装了 Microsoft Office Excel 转换程序,也许能够在 Word 中打开工作簿。如果在 Word 中打开工作簿,则可以恢复数据。您无法使用此方法恢复模块工作表、对话框表、图表工作表、宏表或任何嵌入图表,您也无法恢复单元格公式。您可以只恢复当前 显示在损坏的工作簿的单元格中的那些公式的结果。
您也可以在“写字板”中打开 Excel 工作簿。如果工作簿已打开,您可以恢复模块和类模块中的 Microsoft Visual Basic 代码。您可以搜索单词“Sub”或“Function”以查找代码。
- 使用宏从损坏的工作簿提取数据 如果图表链接到损坏的工作簿,您可以使用宏提取图表的源数据。
要使用宏,请执行以下操作:
- 在模块工作表中输入下列宏代码:
Sub GetChartValues97()
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。
- 选择您要从中提取基础数据值的图表。
注释 图表可以嵌入在工作表中或嵌入在单独的图表工作表中。
- 运行 GetChartValues97 宏。
图表中的数据将置于 ChartData 工作表中。
自动保存工作簿的备份副本
- 单击“Microsoft Office 按钮”,然后指向“另存为”旁边的箭头。
- 单击“工具”旁边的箭头,然后单击“常规选项”。
- 选中“生成备份文件”复选框。
以特定间隔自动创建恢复文件
- 单击“Microsoft Office 按钮”,然后单击“Excel 选项”。
- 在“保存”类别中的“保存工作簿”下,选中“保存自动恢复信息时间间隔”复选框,然后输入分钟数。
- 在“自动恢复文件位置”框中,输入要用于保存恢复文件的位置。
- 一定不要选中“仅禁用此工作簿的自动恢复”复选框。