应用对象
Microsoft 365 Mac 版专属 Excel

Excel for Mac 结合了 Power Query(也称为“获取和转换”)技术,可在导入、刷新和身份验证数据源、管理 Power Query 数据源、清除凭据、更改基于文件的数据源的位置以及将数据调整为符合要求的表时提供更大的功能。 还可以使用 VBA 创建 Power Query 查询。

注意: SQL Server 数据库数据源只能在预览体验成员 Beta 版中导入。

可以使用来自各种数据源的 Power Query 将数据导入 Excel: Excel 工作簿、文本/CSV、XML、JSON、SQL Server 数据库、SharePoint Online 列表、OData、空白表和空白查询。

  1. 选择 数据 > 获取数据 PQ Mac Get Data (Power Query).png

  2. 若要选择所需的数据源,请选择 获取数据 (Power Query)。

  3. 选择数据源 对话框中,选择一个可用的数据源。 要在对话框中选择的数据源示例

  4. 连接到数据源。 若要详细了解如何连接到每个数据源,请参阅 从数据源导入数据

  5. 选择要导入的数据。

  6. 单击 加载 按钮加载数据。

结果

导入的数据将显示在新工作表中。

查询的典型结果

后续步骤

若要使用 Power Query 编辑器来调整和转换数据,请选择 转换数据。 有关详细信息,请参阅 Power Query 编辑器形状数据

注意: 此功能已正式发布给 Microsoft 365 订阅者,运行版本 16.69 (23010700) 或更高版本的 Excel for Mac。 如果你是 Microsoft 365 订阅者,请确保拥有最新版本的 Office。

过程

  1. 选择 数据 > 获取数据 (Power Query)

  2. 若要打开查询编辑器,请选择 启动 Power Query 编辑器 PQ Mac Editor.png

    提示: 还可以通过选择 获取数据 (Power Query),选择数据源,然后单击 下一步 来访问 Power Query。

  3. 像在 Excel for Windows 中一样,使用查询编辑器来调整和转换数据。 Power Query 编辑器 有关详细信息,请参阅 Power Query Excel 帮助

  4. 完成后,选择“ 开始 ”> “关闭 & 加载”。

结果

新导入的数据将显示在新工作表中。

查询的典型结果

可以刷新以下数据源:SharePoint 文件、SharePoint 列表、SharePoint 文件夹、OData、文本/CSV 文件、Excel 工作簿 (.xlsx) 、XML 和 JSON 文件、本地表和区域、Microsoft SQL Server数据库和文件夹。

第一次刷新

首次尝试在工作簿查询中刷新基于文件的数据源时,可能需要更新文件路径。

  1. 依次选择“数据”、“获取数据”旁边的箭头和“数据源设置”。 将显示 数据源设置 对话框。

  2. 选择连接,然后选择 更改文件路径

  3. 文件路径 对话框中,选择一个新位置,然后选择 获取数据

  4. 选择“关闭”。

刷新后续时间

若要刷新:

  • 工作簿中的所有数据源,选择 数据 > 全部刷新

  • 特定数据源,右键单击工作表上的查询表,然后选择 刷新

  • 数据透视表,在数据透视表中选择一个单元格,然后选择 数据透视表分析刷新数据

首次访问 SharePoint、SQL Server、OData 或其他需要权限的数据源时,必须提供适当的凭据。 你可能还需要清除凭据以输入新凭据。

输入凭据

首次刷新查询时,系统可能会要求你登录。 选择身份验证方法并指定登录凭据以连接到数据源并继续刷新。

如果需要登录,则将显示 输入凭据 对话框。

例如:

  • SharePoint 凭据: Mac 上 的SharePoint 凭据提示

  • SQL Server 凭据: 用于输入服务器、数据库和凭据的 SQL Server 对话框

清除凭据

  1. 选择 数据 > 获取数据 > 数据源设置

  2. 数据源设置 对话框中,选择所需的连接。

  3. 在底部,选择 清除许

  4. 确认这是你想要执行的操作,然后选择 删除

尽管 Excel for Mac 中不提供 Power Query 编辑器创作,但 VBA 支持 Power Query 创作。 将文件中的 VBA 代码模块从 Excel for Windows 传输到 Excel for Mac 的过程分为两步。 本部分末尾提供了一个示例程序。

步骤 1:Excel for Windows

  1. 在 Excel Windows 上,使用 VBA 开发查询。 在 Excel 对象模型中使用以下实体的 VBA 代码也适用于Excel for Mac:Query 对象、WorkbookQuery 对象、Workbook.Query 属性。有关详细信息,请参阅 Excel VBA 参考

  2. 在 Excel 中,通过按 ALT+F11 确保 Visual Basic 编辑器已打开。

  3. 右键单击该模块,然后选择 导出文件。 此时将出现 导出对话框。

  4. 输入文件名,确保文件扩展名为 .bas,然后选择 保存

  5. 将 VBA 文件上传到联机服务,使该文件可从 Mac 访问。 可以使用 Microsoft OneDrive。 有关详细信息,请参阅 在 Mac OS X 上与 OneDrive 同步文件。

步骤 2:Excel for Mac

  1. 将 VBA 文件下载到本地文件,即保存在“步骤一:Excel for Windows”中并上传到联机服务的 VBA 文件。

  2. 在 Excel for Mac 中,选择 工具 > > Visual Basic 编辑器。 将显示 Visual Basic 编辑器 窗口。

  3. 右键单击“项目”窗口中的对象,然后选择 导入文件。 将显示 导入文件 对话框。

  4. 找到 VBA 文件,然后选择 打开

示例代码

下面是一些可以调整和使用的基本代码。 这是一个示例查询,用于创建值介于 1 到 100 的列表。

Sub CreateSampleList()
  ActiveWorkbook.Queries.Add Name:="SampleList", Formula:= _
    "let" & vbCr & vbLf & _
      "Source = {1..100}," & vbCr & vbLf & _
      "ConvertedToTable = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)," & vbCr & vbLf & _
      "RenamedColumns = Table.RenameColumns(ConvertedToTable,{{""Column1"", ""ListValues""}})" & vbCr & vbLf & _
    "in" & vbCr & vbLf & _
      "RenamedColumns"
  ActiveWorkbook.Worksheets.Add
  With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
    "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=SampleList;Extended Properties=""""" _
    , Destination:=Range("$A$1")).QueryTable
    .CommandType = xlCmdSql
    .CommandText = Array("SELECT * FROM [SampleList]")
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .PreserveColumnInfo = True
    .ListObject.DisplayName = "SampleList"
    .Refresh BackgroundQuery:=False
  End With
End Sub

另请参阅

Microsoft Power Query for Excel 帮助

与 Excel for Mac 兼容的 ODBC 驱动程序

创建数据透视表以分析工作表数据

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。