在 Excel for Mac 中使用 Power Query

在Excel for Mac可以导入和刷新多个不同的数据源。 也可使用 VBA 创建 Power Query 查询。  

有关导入数据库的信息,请参阅从数据库中的数据库导入Excel for Mac。

注意: 观看有关改进 Excel for Mac Power Query 集成的进一步公告。

  1. 打开Excel工作簿。

  2. 如果收到有关外部数据连接被禁用的安全警告,请选择"启用内容"。

  3. 如果显示"授予文件访问权限"对话框,请选择"选择",然后选择"授予对包含数据源文件的顶级文件夹的访问权限"。

  4. 选择"数据>"从文本>外部数据"。 将出现 "Finder"对话框。

  5. 找到.txt或.csv,然后选择"打开 "。 将显示 "文本导入向导 "。

    提示   重复检查所选 数据窗格的"预览"以确认选择。

  6. 在首页中,执行以下操作:

    文件类型    若要选择文本文件的类型,请选择"带分隔符"或"固定宽度"。

    行号   在 "开始导入行"中,选择一个行号以指定要导入的第一行数据。

    字符集   在 "文件来源"中,选择文本文件中使用的字符集。 在大多数情况下,可以将此设置保留为默认值。

  7. 在"第二页"中,执行以下操作:

    分隔

    如果在第一页上选择了"分隔符",请在"分隔符"下选择分隔符字符或使用"其他"复选框输入未列出的分隔符。 

    如果 数据在数据字段 之间包含多个字符的分隔符,或者数据包含多个自定义分隔符,请选择"将连续分隔符视为一个分隔符"。 

    "文本限定符"中,选择将值括在文本文件中的字符,这通常是引号 (") 字符。

    固定宽度

    如果在第一页上选择了"固定宽度",请按照说明在"所选数据预览"框中创建、删除或移动换行符。

  8. 第三页执行以下操作:

    对于"预览所选数据"下的每一列,请选择它,然后更改为其他列格式(如果需要)。 可以进一步设置日期格式,然后选择 "高级" 以更改数值数据设置。 还可以在导入数据后转换数据。

    选择"完成"。 将显示 "导入数据 "对话框。

  9. 选择要添加数据的位置:现有工作表上、新工作表上或数据透视表中。

  10. 选择“确定”。

    若要确保连接正常工作,请输入一些数据,然后选择"连接">刷新"。

某些数据源要求输入凭据。 有时,可能需要清除凭据来修复任何问题。

输入凭据

首次刷新查询时,系统可能会要求登录。 选择身份验证方法并指定登录凭据以连接到数据源并继续刷新。 看到的凭据提示取决于数据源。 例如:

SharePoint凭据提示

SharePoint Mac 上的凭据提示

SQL Server凭据提示

备用文本

清除凭据

如果权限不工作,可能需要先清除它们,然后登录。

  1. 选择"数据>连接"。 将显示 "工作簿连接 "对话框。

  2. 在列表中选择所需的连接,然后选择"清除权限"。

    在 Mac 上删除数据连接的已保存凭据

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

步骤 1:Excel Windows

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

  2. 在Excel,按 Alt+F11 Visual Basic打开"编辑器"。

  3. 右键单击模块,然后选择"导出文件"。 将显示 " 导出"对话框。

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

  5. Upload VBA 文件到联机服务,使文件可从 Mac 访问。

    可以使用 Microsoft OneDrive。 有关详细信息,请参阅在Mac OS X OneDrive同步文件。

步骤 2:Excel for Mac

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

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

  3. 右键单击"文件"窗口中Project对象,然后选择"导入文件"。 将显示 "导入文件 "对话框。

  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 帮助

需要更多帮助?

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

×