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

Power Query仅返回每个工作表首行问题排查求助

问题根源分析与解决方案

可能的问题根源

  • Excel已使用区域(Used Range)未同步:共享文件夹里的源文件编辑后若未正确保存,Excel的Used Range(系统识别的已使用单元格范围)可能停留在第一行。Power Query默认读取这个范围,因此只返回第一行。手动打开保存文件会强制Excel重新计算Used Range,这就是临时修复有效的原因。
  • 手动指定列扩展的限制:当前代码手动指定扩展Column1到Column10,如果源工作表的Data表格因Used Range问题被识别为仅含第一行,扩展后自然只有一行数据。
  • 源数据结构不规范:源工作表中数据存在断行、空白单元格干扰,或未设置为正式Excel表格,导致Excel误判数据范围,Power Query仅读取第一行。

优化后的M代码

let
    Source = Excel.Workbook(File.Contents("My Path"), null, true),
    // 为每个工作表加载完整数据,自动适配列数
    LoadAllData = Table.AddColumn(Source, "FullData", each 
        Table.PromoteHeaders(
            Table.ExpandTableColumn(
                Table.FromRecords({[Data=_[Data]]}), 
                "Data", 
                Table.ColumnNames(_[Data])
            ), 
            [PromoteAllScalars=true]
        )
    ),
    // 移除无关列
    RemoveExtraColumns = Table.RemoveColumns(LoadAllData, {"Name", "Data", "Item", "Kind", "Hidden"}),
    // 合并所有工作表数据
    CombineTables = Table.Combine(RemoveExtraColumns[FullData])
in
    CombineTables

代码说明

  • 自动识别每个工作表的所有列,无需手动指定Column1到Column10,避免因列数变化或范围识别错误导致的数据缺失。
  • 强制加载工作表内的全部数据,不受Excel Used Range的限制,无需手动打开保存源文件。
  • 自动合并多个工作表的数据,保持汇总逻辑的完整性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:40:06