Парсинг текстового файла и запись данных в 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()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5