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

如何用Excel PowerQuery加载JSON完整490行数据集?当前仅返回100行

解决Excel PowerQuery加载JSON仅显示100行的问题

这是因为你的JSON接口采用了分页机制,默认只返回第1页的100条数据,TotalRecordCount是总记录数,需要通过PowerQuery的循环逻辑批量获取所有页的数据,具体步骤如下:

步骤1:确认分页关键信息

按你已有的流程导入JSON后,确认三个核心信息:

  • 每页返回条数:这里是100
  • 总记录数:即TotalRecordCount对应的490
  • 接口分页参数:通常是page(页码)或offset(偏移量),需根据接口实际规则调整

步骤2:修改PowerQuery代码批量拉取数据

  1. 进入PowerQuery编辑器,点击顶部的【高级编辑器】
  2. 替换原有代码为以下逻辑(根据你的实际接口替换占位符内容):
let
    PageSize = 100, // 每页固定条数
    // 先获取初始页数据,提取总记录数
    InitialSource = Json.Document(Web.Contents("你的JSON接口地址")),
    TotalRecords = InitialSource[TotalRecordCount],
    // 生成需要请求的页码列表
    PageNumbers = List.Generate(
        () => 1,
        each _ <= Number.RoundUp(TotalRecords / PageSize),
        each _ + 1
    ),
    // 定义函数:根据页码获取单页数据
    GetPageData = (pageNum as number) =>
        let
            // 拼接带分页参数的请求地址,若接口用offset则改为?offset=(pageNum-1)*PageSize&limit=PageSize
            RequestUrl = "你的JSON接口地址?page=" & Text.From(pageNum) & "&pageSize=" & Text.From(PageSize),
            PageSource = Json.Document(Web.Contents(RequestUrl)),
            PageData = PageSource[你的列表字段名] // 替换为JSON中存储数据的列表字段名,比如"Data"
        in
            PageData,
    // 获取所有页数据并合并为一个列表
    AllPagesData = List.Transform(PageNumbers, GetPageData),
    CombinedData = List.Combine(AllPagesData),
    // 转换为表格并展开字段
    ToTable = Table.FromList(CombinedData, Splitter.SplitByNothing()),
    ExpandColumns = Table.ExpandRecordColumn(ToTable, "Column1", {"字段1", "字段2", "字段3"}, {"字段1", "字段2", "字段3"}) // 替换为你的实际字段名
in
    ExpandColumns

步骤3:验证并加载完整数据

运行代码后,查看PowerQuery中的表格行数,确认是490行后,点击【关闭并上载】即可将完整数据集加载到Excel中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:47:04