This code takes a text file as input and stores each line in a string array, loops through each line and checks a condition and eventually fills the array.
When I try to transfer this one dimensional array to an excel column through the .range
method of excel object library it fills all the cells of range with the first value of the array (i.e array(0)).
sr = openFileDialog1.FileName()
If (sr IsNot Nothing) Then
Dim alltextlines() As String = IO.File.ReadAllLines(sr)
Dim name As String
Dim isvalid As Boolean
Dim tempstr() As String
Dim count As Integer = 0
For Each myLine In alltextlines
ReDim Preserve tempstr(count)
If myLine.Contains(">") And myLine.Contains(" sds dsd") Then
isvalid = Integer.TryParse((Microsoft.VisualBasic.Mid(Microsoft.VisualBasic.LTrim(myLine), 3, 1)), 0)
If isvalid Then
name = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.LTrim(myLine), 5)
Else
name = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.LTrim(myLine), 7)
End If
tempstr(count) = name
count = count + 1
End If
Next
Dim message As String = String.Join("..", tempstr)
MsgBox(message)
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
'Start a new workbook in Excel.
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Add
oSheet = oBook.Worksheets(1)
oSheet.Range("A1").Value = "SiteNames"
oSheet.Range("A1:B1").Font.Bold = True
oSheet.Range("A2").Resize(tempstr.Length).Value = tempstr
oSheet = Nothing
oBook = Nothing
oExcel.Quit()
oExcel = Nothing
GC.Collect()
Else
MsgBox("TEXT FILE IS EMPTY", MsgBoxStyle.Critical, "Error")
End If
End If
End Sub