如何解决错误“Excel 在(文件名)中发现无法读取的内容”?

如何解决错误“Excel 在(文件名)中发现无法读取的内容”?

有时当我在 Excel 2010 中打开某些工作表时,我会在标题中看到该消息。然后 Excel 会询问我是否要修复该文件。我回答“是”,然后 Excel 会报告该文件已修复。日志文件会显示有关的内容removed records

但是,文件中似乎没有缺少任何内容,工作簿中的所有工作表和 VB 宏都运行正常。
有什么建议吗?

答案1

发布日期这里并经过我的验证。

我没有所谓的“令人满意的”解决方案,但我确实有一个解决方法(有点!)如果工作簿在 2010 年无法修复,则使用 E​​xcel 2003 往返文件以消除损坏:

  1. 在 Excel 2003 中打开该文件
  2. 转到文件:保存
  3. 将另存为类型更改为网页(.html),保存并关闭文件
  4. 在 Excel 中打开 .html 文件
  5. 将文件另存为 .xls(使用新名称以免丢失原始文件)

我不知道实际的“损坏”来自哪里。显然,Office 2010 在检查文件问题方面比 Office 2003 更“挑剔”。根据 Microsoft 的说法:

“请记住,确定损坏的来源通常非常困难,甚至不可能。损坏可能存在于工作簿的“外壳”中,也可能存在于某些区域,例如数据透视表、样式、定义的名称、对象或计算链/公式。损坏可能由许多不同的情况引起,例如,保存时的网络故障、电涌、从另一个文件复制和粘贴损坏的文件等等。您可以将文件损坏比作轮胎上扎了钉子。钉子可能会长时间扎在轮胎里而您却没有注意到,然后突然轮胎漏气,或者文件变得无法读取或出现奇怪的症状。”

我认为这是一个不太恰当的类比,但我希望这能有所帮助。在从其他系统导入文件之前,请更改工作簿的工作表名称。较长的名称会导致转换问题

答案2

当我尝试打开另一位同事发给我的 .xlsx 文件时,我也遇到了类似的问题。我在 Windows 7 上使用 Office 2010。

当我尝试打开该文件时,它会显示:

Excel 在“filename.xlsx”中发现无法读取的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击“是”。

我单击“是”,然后 Excel 弹出一条消息:The file is corrupt and cannot be opened.

解决方案:在 Windows 资源管理器中转到该文件,右键单击文件,选择特性底部有一个区域叫做安全, 点击解除封锁

我希望这能帮助其他在 Windows 7 上使用 Excel 2010 遇到此问题的人。

答案3

修复 Excel 工作簿并检查有帮助。

导致该问题的最可能原因是 Excel 文件是使用 OpenXML 编码创建的,用于以编程方式创建 Excel 文件,而不是使用在服务器上使用时存在安全问题的 Office.Interop。OpenXML 格式非常复杂,尽管 OpenXML 非常出色,但创建格式良好的 Excel 文件并不容易。此错误可能是由一些简单的事情引起的,例如程序员设置了带有日期或数字格式的文本列。纠正错误可能非常困难且耗时,以至于程序员会放弃尝试查找问题所在,每次都打开并保存生成的文件以消除错误。您可以使用 OpenXML SDK 2.5 Productivity Tool 打开这些文件,如果您对其进行验证,它通常会告诉您问题出在后台 XML 中的位置。您还可以使用 Excel 重新创建类似的 Excel 文件,然后在 Productivity Tool 中打开它,看看两个文件之间的差异在哪里。

答案4

您可能正在尝试打开一个与其他文件有连接的文件。安全设置阻止自动更新这些连接,因此 Excel 无法确定这些链接是否可行。除了指向实际文件的链接外,您可能还有指向数据模型的链接,这些链接也依赖于外部文件,并且在打开文件时无法更新。转到数据 -> 连接,检查是否是这种情况。如果此问题无法忍受,请断开链接。

相关内容