从 Excel 工作簿文件中获取数据

Microsoft Excel 是使用最广泛的业务应用程序之一,也是 Power BI 的最常用数据源之一。

支持的工作簿

Power BI 支持导入或连接至在 Excel 2007 和更高版本中创建的工作簿。 本文介绍的某些功能仅在更高版本的 Excel 中可用。 工作簿必须是 .xlsx 或 .xlsm 文件类型,并且小于 1 GB。

重要

以下功能已弃用,并且自 2023 年 9 月 29 日起将不再可用:

  • 将不再允许将本地工作簿上传到 Power BI 工作区。
  • 不再允许为尚未配置计划内刷新的 Excel 文件配置计划刷新和立即刷新。

以下功能已弃用,并且自 2023 年 10 月 31 日起将不再可用:

  • 对于以前为计划内刷新配置的现有 Excel 文件,不再支持进行计划内刷新和立即刷新。
  • 上传到 Power BI 工作区的本地工作簿将无法再使用 Power BI 打开。

2023 年 10 月 31 日之后:

  • 可从 Power BI 工作区下载现有本地工作簿。
  • 可将 Excel 数据模型发布为 Power BI 语义模型并计划刷新。
  • 可从 OneDrive 和 SharePoint 文档库导入 Excel 工作簿,以便在 Power BI 中查看它们。

如果你的组织使用这些功能,请参阅迁移 Excel 工作簿中提供的详细信息。

具有数据范围或数据表的工作簿

如果你的工作簿包含具有数据范围的简单工作表,请务必将这些范围格式化为表,以在 Power BI 中充分利用你的数据。 在 Power BI 中创建报表时,“”窗格中的已命名表和列可以更轻松地实现数据可视化。

具有数据模型的工作簿

工作簿可以包含一个数据模型,该模型会通过链接表、Power Query、Excel 中的“获取与转换数据”或 Power Pivot 加载一个或多个数据表。 Power BI 支持所有数据模型属性,例如关系、度量、层次结构和关键绩效指标 (KPI)。

注意

无法在 Power BI 租户中共享包含数据模型的工作簿。 例如,使用 contoso.com 帐户登录 Power BI 的用户无法与使用 woodgrovebank.com 帐户登录的用户共享包含数据模型的工作簿。

具有与外部数据源的连接的工作簿

如果 Excel 工作簿连接到外部数据源,则工作簿位于 Power BI 中后,你可以基于来自该连接源的数据创建报表和仪表板。 此外,你还可以将计划刷新设置为自动将权限连接到数据源并获取更新。 不再需要使用 Excel 中的“获取数据”手动刷新。 基于数据源的报表和仪表板磁贴中的可视化效果会自动更新。 有关详细信息,请参阅 Power BI 中的数据刷新

具有数据透视表和图表的工作簿

数据透视表和图表在 Power BI 中是否会显示以及如何显示取决于你保存工作簿文件的位置,以及你选择将文件导入 Power BI 的方式。 本文的其余部分介绍了这些选项。

数据类型

在 Excel 中分配特定于数据的数据类型以改善 Power BI 体验。 Power BI 支持以下数据类型:

  • 整数
  • 十进制数
  • 货币
  • 日期
  • True/false
  • 文本

导入或上传 Excel 数据

可通过两种方式在 Power BI 中浏览 Excel 数据:上传和导入。 上传工作簿时,它会显示在 Power BI 中,就像在 Excel Online 中那样。 但你也会获得一些出色的功能,可帮助你将元素从工作表固定到仪表板。 导入数据时,Power BI 会将表中任何受支持的数据和任何数据模型导入到新的 Power BI 语义模型中。

上传到 Power BI

可以使用“上传”按钮将文件上传到 Power BI 服务。 在要添加文件的工作区中,选择页面顶部的“上传”。 在下拉列表中,选择:

  • OneDrive for Business,以连接到存储在 OneDrive for Business 中的文件。
  • SharePoint,以连接到你有权访问的任何 SharePoint 站点中的文件。
  • 浏览,以从计算机上传文件。

屏幕截图显示“上传”菜单选项。

如果上传本地文件,Power BI 会将该文件的副本添加到工作区。 如果使用“OneDrive for Business”或“SharePoint”选项,Power BI 会创建与文件的连接。 在 SharePoint 或 OneDrive 中更改文件时,Power BI 大约每小时自动同步一次这些更改。

使用 OneDrive for Business 连接到 Excel 文件时,无法在 Power BI 中编辑工作簿。 如果需要进行更改,则可以选择“编辑”,然后选择在 Excel Online 中编辑你的工作簿或在计算机上的 Excel 中打开工作簿。 更改会保存到 OneDrive 上的工作簿中。

如果你只有工作表中的数据,或者如果有范围、数据透视表和图表,并希望将其固定到仪表板上,则应连接到数据或上传数据。

本地 Excel 工作簿在 Power BI 内的 Excel Online 中打开。 不同于存储在 OneDrive 或 SharePoint 团队站点的 Excel 工作簿,你无法在 Power BI 中编辑本地 Excel 工作簿。

如果你使用的是 Excel 2016 和更高版本,则还可以使用 Excel 中的“文件”>“发布”>“上传”。 有关详细信息,请参阅从 Microsoft Excel 发布到 Power BI

工作簿上传后,它将显示在工作区中的内容列表中:

屏幕截图显示了“我的工作区”中的工作簿。

此上传方法易于使用,并且“OneDrive for Business”和“SharePoint”选项使用与许多其他 Microsoft 产品相同的文件选择界面。 可以使用“快速访问”部分或选择“更多位置”来选择你的一个网站,而不必输入 SharePoint 或 OneDrive 位置的 URL。

如果你没有订阅,则“OneDrive for Business”和“SharePoint”选项不可用,但你仍然可以选择“浏览”以从计算机获取本地文件。 下图显示了不可用的选项,但“浏览”选项已启用:

显示不可用选项的屏幕截图。

无法从个人 OneDrive 帐户使用上传来获取文件,但可以从计算机上传文件。

将 Excel 数据导入 Power BI

要将 Excel 数据导入 Power BI, 请在“我的工作区”中选择“新建”>“语义模型”>“Excel”,然后查找文件。

使用“我的文件”列表,可以从文档文件夹和其他个人源添加文件。

可以使用窗口左侧的“快速访问”列表从 SharePoint 网站和其他共享源添加文件。

选择“浏览此设备”,从当前使用的设备添加文件。

导入 Excel 数据时,Power BI 会将表中任何受支持的数据和任何数据模型导入到新的 Power BI 语义模型中。

如果已使用“获取与转换数据”或“Power Pivot”将数据加载到数据模型中,则数据应该已经导入就绪。

如果从 OneDrive for Business 上传,则保存更改时,Power BI 会将更改与 Power BI 中的语义模型同步,通常在大约一小时内进行。 还可以选择“发布”以立即导出更改。 报表和仪表板中的任何可视化效果也会根据以下刷新触发器进行更新:

报表磁贴 在推入数据时
缓存过期后打开报表。 缓存刷新后打开仪表板。
在报表中选择“刷新”。 在仪表板中选择“刷新”。
如果仪表板已打开,则在刷新缓存时自动对固定磁贴执行操作。

注意

固定的报表页不支持自动刷新功能。

保存工作簿文件的位置

保存工作簿文件的位置不同会造成一定的差异。

  • 本地。 如果将工作簿文件保存到计算机上的驱动器中或者组织中的其他位置,可将文件加载到 Power BI。 你的文件实际上留在源驱动器中。 导入文件时,Power BI 会新建语义模型,并将工作簿中的数据和任何数据模型加载到语义模型中。

    本地 Excel 工作簿在 Power BI 内的 Excel Online 中打开。 不同于存储在 OneDrive 或 SharePoint 团队站点的 Excel 工作簿,你无法在 Power BI 中编辑本地 Excel 工作簿。

    Excel 在“文件”菜单中还有一个“发布”命令。 使用此“发布”命令实际上与使用 Power BI 中的“上传”>“浏览”相同。 如果定期更改工作簿,则在 Power BI 中更新语义模型通常更容易。

  • OneDrive for Business。 使用与 Power BI 相同的账户登录 OneDrive for Business 是将你在 Excel 中的工作与 Power BI 语义模型、报表和仪表板保持同步的最有效方法。 Power BI 和 OneDrive 都位于云中,Power BI 大约每小时会连接一次你在 OneDrive 中的工作簿文件。 如果 Power BI 发现任何更改,它将自动更新 Power BI 语义模型、报表和仪表板。

    与将文件保存到本地驱动器时一样,可以在 Excel 中使用“发布”以立即更新 Power BI 语义模型和报表。 否则,Power BI 通常会在一小时内自动同步。

  • SharePoint 团队站点。 将 Power BI Desktop 文件保存到 SharePoint 团队站点与将它们保存到 OneDrive for Business 大致相同。 最大的区别是你从 Power BI 连接到文件的方式。 你可以指定一个 URL 或连接到根文件夹。

从 Excel 发布到 Power BI 网站

使用 Excel 的“发布到 Power BI”功能实际上与使用 Power BI 导入或连接你的文件相同。 有关详细信息,请参阅从 Microsoft Excel 发布到 Power BI

注意

如果上传连接到本地 SQL Server Analysis Services (SSAS) 多维数据集的 Excel 工作簿,则无法在 Power BI 服务中刷新基础数据模型。

迁移 Excel 工作簿

对于上传到 Power BI 工作区的本地 Excel 工作簿,请使用“下载 Excel 文件”选项下载工作簿。 然后将其保存到 OneDrive for Business 或一个 SharePoint 文档库 (ODSP) 中。 之后可以再次将工作簿从 ODSP 导入到工作区。

显示本地工作簿的下载 Excel 文件选项的屏幕截图。

要刷新 Excel 数据模型中的数据,需要将数据模型发布为 Power BI 语义模型。 建议使用 Power BI Desktop 导入模型,因为它会将数据模型升级到最新版本。 这让你可以在未来拥有最好的体验。 使用 Power BI Desktop“文件”菜单上“Power Query、Power Pivot、Power View”选项中的“导入”。

要在 Excel 工作簿中生成连接某个语义数据模型的新工作簿,应首先将数据模型发布为 Power BI 语义模型。 然后在 Excel 中,使用“从 Power BI (Microsoft)”选项将工作簿连接到语义模型。 此选项可在“从 Power Platform”菜单中“获取数据”下的“数据功能区”中找到。

对于要在 Power BI 组织应用中包含工作簿的情况,请记得使用新项重新发布应用。

若要了解哪些工作簿可能会因本地工作簿和刷新功能的弃用而受影响,请使用工作簿 Power BI 管理员 REST API。 它会列出你组织中的工作簿。 必须是 Fabric 管理员才能调用此 API。

GET https://api.powerbi.com/v1.0/myorg/admin/workbooks

该 API 会提供组织中发布的所有 Excel 工作簿的列表。 该列表采用 JSON 格式。

下面是 API 输出的示例。

[
    {
        "DisplayName": "Workbook without a Data Model",
        "WorkspaceName": "My workspace",
        "HasDataModel": false,
        "HasScheduledRefreshOnDataModel": false,
        "UploadedOn": "2023-07-28T10:54:17.093"
    },
    {
        "DisplayName": "Workbook with Data Model",
        "WorkspaceName": "My workspace",
        "HasDataModel": true,
        "HasScheduledRefreshOnDataModel": true,
        "UploadedBy": "user@contoso.com",
        "UploadedOn": "2022-11-16T09:51:17.497"
    }
]

可以通过在 Power BI 中导航到某 Excel 工作簿并查看其是否具有可用的“下载 Excel 文件”选项来确认该工作簿是否为本地工作簿。

可以使用 PowerShell 调用该 API,如下例所示:

Invoke-PowerBIRestMethod -Url "https://api.powerbi.com/v1.0/myorg/admin/workbooks" -Method GET

要使用 PowerShell,请先安装所需的 MicrosoftPowerBIMgmt 模块。 有关详细信息,请参阅 Power BI Cmdlet 参考。 在调用 Invoke-PowerBIRestMethod 之前,需要调用 Login-PowerBIServiceAccount commandlet。

故障排除和限制

  • 浏览数据。 将数据和报表从文件上传到 Power BI 后,可以选择新语义模型以浏览数据。 选择工作簿后,它将在 Power BI 中打开,就像在 Excel Online 中一样。

  • 计划刷新。 如果 Excel 工作簿连接到外部数据源,或者如果从本地驱动器导入,可以设置计划刷新,以确保语义模型或报表始终为最新。 在大多数情况下,设置计划刷新很容易。 有关详细信息,请参阅 Power BI 中的数据刷新

  • 从 Microsoft Excel 发布到 Power BI