关键在于分层展开嵌套结构,首先加载Orders节点并提取Order记录,接着展开Customer子节点属性,然后将Items列表转为表格并展开Item明细,最终实现每行对应一个商品项且保留订单与客户信息的扁平化表格。

处理复杂嵌套的XML文件并将其完美导入Excel Power Query,关键在于理解其层级结构,并利用Power Query强大的嵌套数据展开功能。虽然XML天生支持多层嵌套,但Excel表格是二维结构,因此需要系统性地“扁平化”数据,同时保留原始关系。
Power Query(通过Excel中的“获取数据”功能)能读取XML文件,但默认不会自动展开所有层级。它会将嵌套元素识别为记录(Record)或列表(List),需手动逐层提取。
以一个典型订单XML为例:
<Orders>
<Order ID="1001" Date="2024-04-01">
<Customer Name="张三" City="北京"/>
<Items>
<Item SKU="A001" Qty="2" Price="50"/>
<Item SKU="B002" Qty="1" Price="80"/>
</Items>
</Order>
<Order ID="1002" Date="2024-04-02">
<Customer Name="李四" City="上海"/>
<Items>
<Item SKU="A001" Qty="1" Price="50"/>
</Items>
</Order>
</Orders>
导入后,Power Query会显示根节点 Orders,其子项为多个 Order 记录。每个 Order 中可能包含属性、子节点(如 Customer)、以及子列表(如 Items)。正确识别这些类型是第一步。
在Power Query编辑器中,按以下顺序操作可系统化解析:
完全扁平化后,每条 Item 应对应其父级 Order 的信息,这样才能用于后续分析(如透视表统计各城市销售额)。
关键点:
实际XML可能不规范,需增强查询鲁棒性:
基本上就这些。只要分清记录、列表、属性三种基本结构,按层级逐步展开,就能把复杂的XML变成可用的Excel表格。难点不在工具,而在看清数据的嵌套逻辑。
以上就是复杂嵌套XML如何完美导入Excel Power Query多层级数据解析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号