excel - 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 中无法完成。
谢谢你。
解决方案
当您尝试在 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 内部是否有可疑内容。
推荐阅读
- github - github中不熟悉的图标
- node.js - Sequelize.js - 选择正确的关系
- vagrant - 麦克 | 宅基地:警告:远程连接断开。重试
- swiftui - 在 swift-ui/xcode12 中添加 baritem 时会调整列表
- node.js - 为什么 Resource 被解释为 Document 但通过 res.download 与 MIME 一起传输?
- reactjs - react 和 expressjs 中的 Cookie 处理
- java - 改造后请求错误 - java.lang.IllegalStateException:预期 BEGIN_OBJECT 但在第 1 行第 1 列路径 $
- asp.net-core - 无法在 .net 3.1 中获取文化资源
- java - 有没有办法将默认查询添加到 mongo 存储库?
- f# - 如何在 F# 中创建状态