You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query中批量展开Excel指定工作表数据的实现方法

Power Query 批量提取指定工作表并展开嵌套数据列

我当前在Power Query中的数据结构如下(对应结构截图):ExcelData列存储了多个Excel文件的内容,每个文件都包含名为"Pivot Data"的工作表。需要实现的目标是:为ExcelData列中的每个文件打开该工作表,并展开工作表内Data列的嵌套表格。点击首个表格可查看对应视图(对应Excel视图截图)。

现有Power Query代码:

Source = CategoryAssignmentFolder,
    #"Removed Other Columns" = Table.SelectColumns(Source,{"Content"}),
    #"Added Custom" = Table.AddColumn(#"Removed Other Columns", "ExcelData", each Excel.Workbook(Binary.Buffer([Content]), true))
in
    #"Added Custom"

修改后的完整代码

Source = CategoryAssignmentFolder,
    #"Removed Other Columns" = Table.SelectColumns(Source,{"Content"}),
    #"Added Custom" = Table.AddColumn(#"Removed Other Columns", "ExcelData", each Excel.Workbook(Binary.Buffer([Content]), true)),
    // 筛选每个Excel文件中名为"Pivot Data"的工作表
    #"Filtered Pivot Data Sheet" = Table.AddColumn(#"Added Custom", "Pivot Data Sheet", each Table.SelectRows([ExcelData], each [Name] = "Pivot Data")),
    // 展开工作表表格,提取Data字段
    #"Expanded Pivot Data Sheet" = Table.ExpandTableColumn(#"Filtered Pivot Data Sheet", "Pivot Data Sheet", {"Data"}, {"Data"}),
    // 展开Data列中的嵌套表格,自动获取列名
    #"Expanded Data" = Table.ExpandTableColumn(#"Expanded Pivot Data Sheet", "Data", Table.ColumnNames(#"Expanded Pivot Data Sheet"{0}[Data]))
in
    #"Expanded Data"

步骤说明

  • 筛选指定工作表:通过Table.SelectRows从每个ExcelData的工作表列表中精准筛选出名称为"Pivot Data"的工作表,确保只处理目标工作表。
  • 提取工作表数据:展开筛选后的工作表列,将工作表内的Data字段(即实际表格数据)单独提取为一列。
  • 展开嵌套表格:利用Table.ColumnNames自动获取首个嵌套表格的列名,一次性展开所有列,无需手动指定列名,适配不同结构的表格(只要列名一致即可)。

内容的提问来源于stack exchange,提问作者OLGJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 14:09:57