Я пытаюсь импортировать XML файл в Excel, и я попытался с помощью следующего кода
Sub Convert_XML_To_Excel_Through_VBA()
'Code from Officetricks.com
'Add referece from Menu: "Tools -> References -> Microsoft XML Vn.0"
Dim iRow As Integer, iCol As Integer
Dim xmlDoc As MSXML2.DOMDocument60, xmlRoot As MSXML2.IXMLDOMNode
Dim xmlNodes As MSXML2.IXMLDOMNode, xmlData As MSXML2.IXMLDOMNode
Set xmlDoc = New MSXML2.DOMDocument60
'Load & Wait till complete XML Data is loaded
xmlDoc.async = False
xmlDoc.validateOnParse = False
xmlDoc.Load (ThisWorkbook.Path & "\Sample.xml")
'XML Loaded. Now Read Elements One by One into XML DOM Objects
Set xmlRoot = xmlDoc.DocumentElement
Set xmlNodes = xmlRoot.FirstChild
'Read XML Data and Load into Excel Sheet by each Node and Chile Node
iRow = 0
For Each xmlNodes In xmlRoot.ChildNodes
iRow = iRow + 1
iCol = 0
For Each xmlData In xmlNodes.ChildNodes
iCol = iCol + 1
If xmlData.BaseName = "sheetDataSet" Then
ThisWorkbook.ActiveSheet.Cells(1, iCol) = xmlData.BaseName
Dim e
For Each e In xmlData.ChildNodes
Debug.Print e.Text
'ThisWorkbook.ActiveSheet.Cells(iRow, iCol) = xmlData.Text
Next e
End If
Next xmlData
Next xmlNodes
End Sub
Все, что я мог получить, это один поток текста, подобный этому Header1Header2Yasser10Ahmed20Reda30 Вот содержимое XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<externalLink
xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14"
xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main">
<externalBook
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId1">
<sheetNames>
<sheetName val="Sheet1"/>
</sheetNames>
<sheetDataSet>
<sheetData sheetId="0" refreshError="1">
<row r="1">
<cell r="A1" t="str">
<v>Header1</v>
</cell>
<cell r="B1" t="str">
<v>Header2</v>
</cell>
</row>
<row r="2">
<cell r="A2" t="str">
<v>Yasser</v>
</cell>
<cell r="B2">
<v>10</v>
</cell>
</row>
<row r="3">
<cell r="A3" t="str">
<v>Ahmed</v>
</cell>
<cell r="B3">
<v>20</v>
</cell>
</row>
<row r="4">
<cell r="A4" t="str">
<v>Reda</v>
</cell>
<cell r="B4">
<v>30</v>
</cell>
</row>
</sheetData>
</sheetDataSet>
</externalBook>
</externalLink>
Как правильно импортировать данные на лист?