![如何解决错误“Excel 在(文件名)中发现无法读取的内容”?](https://linux22.com/image/1308332/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E9%94%99%E8%AF%AF%E2%80%9CExcel%20%E5%9C%A8%EF%BC%88%E6%96%87%E4%BB%B6%E5%90%8D%EF%BC%89%E4%B8%AD%E5%8F%91%E7%8E%B0%E6%97%A0%E6%B3%95%E8%AF%BB%E5%8F%96%E7%9A%84%E5%86%85%E5%AE%B9%E2%80%9D%EF%BC%9F.png)
有时当我在 Excel 2010 中打开某些工作表时,我会在标题中看到该消息。然后 Excel 会询问我是否要修复该文件。我回答“是”,然后 Excel 会报告该文件已修复。日志文件会显示有关的内容removed records
。
但是,文件中似乎没有缺少任何内容,工作簿中的所有工作表和 VB 宏都运行正常。
有什么建议吗?
答案1
发布日期这里并经过我的验证。
我没有所谓的“令人满意的”解决方案,但我确实有一个解决方法(有点!)如果工作簿在 2010 年无法修复,则使用 Excel 2003 往返文件以消除损坏:
- 在 Excel 2003 中打开该文件
- 转到文件:保存
- 将另存为类型更改为网页(.html),保存并关闭文件
- 在 Excel 中打开 .html 文件
- 将文件另存为 .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 无法确定这些链接是否可行。除了指向实际文件的链接外,您可能还有指向数据模型的链接,这些链接也依赖于外部文件,并且在打开文件时无法更新。转到数据 -> 连接,检查是否是这种情况。如果此问题无法忍受,请断开链接。