XML是一种常用的结构化数据存储格式,很多业务系统导出的数据会以XML形式呈现,而Excel是日常处理表格数据的主流工具,掌握XML文件导入Excel的方法能大幅提升数据整理效率。

方法一:Excel直接导入XML文件
这种方法适合单个XML文件且结构简单的场景,操作步骤如下:
- 打开Excel空白工作簿,点击顶部菜单栏的数据选项卡
- 在获取和转换数据区域找到从文件选项,选择从XML
- 在弹出的文件选择窗口中找到需要导入的XML文件,点击导入
- Excel会自动解析XML结构,在导航器窗口中预览数据,勾选需要导入的节点后点击加载,数据就会自动填充到工作表中
方法二:通过Power Query导入XML数据
如果XML文件结构复杂或者需要定期更新数据,使用Power Query会更灵活,操作如下:
- 同样在数据选项卡下,点击获取数据,选择从文件中的从XML
- 选择目标XML文件后,Power Query编辑器会自动打开,展示XML的层级结构
- 可以通过编辑查询来筛选需要的字段、调整数据格式,处理完成后点击关闭并上载,数据会加载到Excel表格中
方法三:VBA代码批量导入XML文件
当需要批量导入多个XML文件时,手动操作效率很低,可以通过VBA代码实现自动化导入,示例代码如下:
Sub ImportXMLFiles()
Dim xmlPath As String
Dim xmlFile As String
Dim wb As Workbook
Dim ws As Worksheet
' 设置XML文件所在文件夹路径
xmlPath = "C:XMLFiles"
' 创建新的工作簿存放导入的数据
Set wb = Workbooks.Add
Set ws = wb.Sheets(1)
' 遍历文件夹下所有XML文件
xmlFile = Dir(xmlPath & "*.xml")
Do While xmlFile <> ""
' 导入当前XML文件
With ws.QueryTables.Add(Connection:="TEXT;" & xmlPath & xmlFile, Destination:=ws.Range("A" & ws.Rows.Count).End(xlUp).Row + 1)
.Name = xmlFile
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 936
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
xmlFile = Dir
Loop
MsgBox "所有XML文件导入完成"
End Sub
导入常见问题及解决办法
问题1:导入时提示XML格式错误
通常是XML文件标签没有正确闭合,或者包含特殊字符没有转义,可以用文本编辑器打开XML文件,检查标签结构是否完整,特殊字符如<、>、&是否做了转义处理。
问题2:导入后数据格式混乱
可以在Power Query编辑器中提前设置字段的数据类型,比如将日期字段设置为日期格式,数值字段设置为数值格式,再加载到Excel中。
问题3:批量导入时部分文件失败
检查失败的XML文件是否有访问权限,或者文件结构和其他XML文件不一致,可单独处理结构特殊的文件。
XMLExcel数据导入XML_to_Excel修改时间:2026-07-21 13:24:24