Парсинг текстового файла и запись данных в Excel - Visual Basic .NET
Формулировка задачи:
есть текстовый док с такими строками :
HS oper-209 UN Linux HS oper-203 UN Linux
нужно записать все что после букв UN (связных не после самих букв U и N а именно UN) в первую колонку например А а все что после HS в колонку B ,сделал вот что :
оно то записывает , но с этим добавляет в ячейки еще и HS и т д ... а также размещает как то не оч адекватно , еще и к значениям цыфры добавляет (как на картинке) как исправить ?
Решение задачи: «Парсинг текстового файла и запись данных в Excel»
textual
Листинг программы
Dim Data() As String = IO.File.ReadAllLines("D:\1.txt", System.Text.Encoding.Default)
Dim HS, UN As New List(Of String)
For Each Line As String In Data
If Line.Split()(0) = "HS" Then
HS.Add(String.Join(" ", Line.Split().Skip(1).ToArray))
End If
If Line.Split()(0) = "UN" Then
UN.Add(String.Join(" ", Line.Split().Skip(1).ToArray))
End If
Next
Dim AppExcel As Object
AppExcel = CreateObject("Excel.Application")
AppExcel.Workbooks.Open("D:\1.xls")
AppExcel.Visible = False
With AppExcel.ActiveSheet
For I As Integer = 0 To UN.Count - 1
.Range("A" & I + 1).Value = UN(I)
Next
For I As Integer = 0 To HS.Count - 1
.Range("B" & I + 1).Value = HS(I)
Next
End With
AppExcel.Workbooks(1).Close(True)
AppExcel.Quit()
AppExcel = Nothing
GC.Collect()
GC.WaitForPendingFinalizers()