首页 > 解决方案 > Power BI 无法读取具有多个选项卡的 Excel 工作表

问题描述

我有一个带有 10 个选项卡的 Excel 工作表。

对于每个选项卡,数据的结构如下:

在此处输入图像描述

所有选项卡都遵循相同的基本结构。

在 Power BI 中,当我转到“获取数据”,然后选择 .xlsx 文件时,我收到以下错误:

Unable to connect


We encountered an error while trying to connect.

Details: "The input couldn't be recognized as a valid Excel document."

这非常令人沮丧,我不知道这么简单的任务怎么在 Power BI 中无法完成。

谢谢你。

标签: excelpowerbixls

解决方案


当您尝试在 Excel 文件上使用 Power BI 连接器时,可能会出现此类警报。如果源文件已损坏且无法在 Excel 中打开,这是可以理解的。但是,如果 Excel 打开有问题的文件并且没有显示任何错误,这看起来很奇怪。

根据我们上面的经验,通常意味着 Excel 工作簿的 XML 方案有什么问题。

Mushup 跟踪(Data->New Query->Query Options->Diagnostics->Enable tracking)可以提供一些额外的信息,但通常不足以找到原因。

我们有两个主要场景

XML 方案不完整 通常如果 Excel 文件是由第三方工具生成的。这样的工具可以生成非常有限的 XML 方案,足以在 Excel 中打开文件并使用它,但对于 Power BI 连接器来说还不够。例如,跟踪日志显示

[DataFormat.Error] 无法将输入识别为有效的 Excel 文档。\r\nStackTrace:\n... ... [DataFormat.Error] 我们在Excel 包。\r\nStackTrace:\n... 这种情况很容易修复——在 Excel 中打开文件并保存就足够了(无需任何更改)——Excel 足够聪明,可以修复该方案。对于例行的常规任务,我们使用在后台执行完全相同的 poweshell 脚本。

Excel 文件中存在无法识别为有效的链接通常如果 Excel 文件与某些云存储同步/保存。其中一种变体,错误的链接可能会出现在另一个此类文件中的复制/粘贴中。这可能是其中一个单元格中的活动链接;或条件格式公式中的链接;甚至是 Excel 实际上没有使用但保存在方案中某处的链接。例如,在我在 Data->Consolidate->All 中找到的一个文件中引用了类似的链接

'\drive.tresorit.com@7235\Tresors....[file.xlsx]Sheet'!$AC$6:$AC$357 在很久以前被删除且未使用的文件上,但由于某些奇怪的原因,链接是保留在计划内。

不幸的是,对于这种情况,跟踪日志没有提供足够的信息来定位问题,它看起来像

[DataFormat.Error] 无法将输入识别为有效的 Excel 文档。\r\nStackTrace:\n... ... nExceptionType: System.UriFormatException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\r \n消息:无效的 URI:无法解析主机名。\r\nStackTrace:\n 也许我没有足够的知识来更直接地定位问题,但唯一的方法是逐个排除 Excel 文件部分并检查如果问题消失了。另一种方法是解压缩 Excel 文件并检查 wookbook.xml 或 sheetNN.xml 内部是否有可疑内容。


推荐阅读