В первый раз, как я сказал в заголовке, я хочу импортировать XML-файл в excel. У меня есть форма в формате PDF, содержащий 6 рядов радиокнопок и 1 текстовое поле (комментариев) на представить это дает мне этот XML-файл:Как создать лист excel из xml-файла с помощью vb.net
<?xml version="1.0" encoding="UTF-8"?>
<form1
><Table1
><HeaderRow xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/><Row1 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/><Row2 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/><Row3 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/><Row4 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/><Row5 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/></Table1
><Table2
><Row1 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/></Table2
><Table3
><Row1 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/><Row1 xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/></Table3
><QualityWork
>1</QualityWork
><Ontime
>2</Ontime
><QualityReport
>3</QualityReport
><Needs
>4</Needs
><Comm
>5</Comm
><Global
>6</Global
><Comments
>This is a comment</Comments
></form1
>
Я пытаюсь создать vb.net программу, которая создаст лист первенствовать с данными из xml-файла.
Я попытался с помощью этого vb.net кода
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim filePath = create_xml.Text()
Dim m_xmld As XmlDocument
'Create the XML Reader
m_xmld = New XmlDocument()
m_xmld.Load(filePath)
Dim m_nodelist As XmlNodeList
Dim m_node As XmlNode
m_nodelist = m_xmld.SelectNodes("/form1")
Dim total_untokenized = ""
For Each m_node In m_nodelist
total_untokenized = m_node.ChildNodes.Item(0).InnerText
comments = m_node.ChildNodes.Item(1).InnerText
Next
Dim total_tokenized As Integer
total_tokenized = 0
For i = 1 To 6
total_tokenized = total_tokenized + Strings.Mid(total_untokenized, i, 1)
Next
Dim total_col = 7
Dim MyArrayList = New ArrayList(total_col)
MyArrayList.Add(comments)
For i = 1 To 6
MyArrayList.Add(Strings.Mid(total_untokenized, i, 1))
Next
MyArrayList.Add(total_tokenized)
Dim MyArrayList2 = New ArrayList(total_col)
MyArrayList2.Add("QualityWork")
MyArrayList2.Add("Ontime")
MyArrayList2.Add("QualityReport")
MyArrayList2.Add("Needs")
MyArrayList2.Add("Comm")
MyArrayList2.Add("Global")
MyArrayList2.Add("Comments")
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
oExcel = CreateObject("Excel.Application")
oExcel.Visible = True
oBook = oExcel.Workbooks.Add
oSheet = oBook.Worksheets(1)
For col = 0 To total_col - 1
oSheet.Cells(1, col + 1) = MyArrayList2.Item(col)
Next
oSheet.Rows("1:1").Font.Bold = True
For col = 0 To total_col - 1
oSheet.Cells(2, col + 1) = MyArrayList.Item(col)
Next
End Sub
Но это m_nodelist
, кажется, остается пустым, я всегда получаю ошибку на этой линии total_tokenized = total_tokenized + Strings.Mid(total_untokenized, i, 1)
edit1: Я пост, как я установил его ниже
какую часть xml вы хотите получить? неясно, что вы пытаетесь сделать с этим токенизированным кодом. – Ezi
Число 1,2,3,4,5,6 и «Это комментарий» – phil652