【发布时间】:2019-10-08 17:43:08
【问题描述】:
我正在尝试读取文本文件的所有行并仅将 2 个特定行导出到 DataGridView。我的大部分代码都在工作,但是我遇到了数据并不总是在同一行的问题。
我正在使用 VB.net 这是我正在使用的代码。
Dim lines() As String = File.ReadAllLines(textfile)
For i As Integer = 0 To lines.Length - 1
If lines(i).Contains("First*") Then
Dim Array1() As String = lines(i).Split("*")
Dim Array2() As String = lines(i + 1).Split("*")
DataGridView1.Rows.Add(Array1(1), Array2(1))
End If
Next
我需要做这样的事情,但我不知道该怎么做。
Dim lines() As String = File.ReadAllLines("C:\People.txt")
For i As Integer = 0 To lines.Length - 1
If lines(i).Contains("First*") Then
Dim Array1() As String = lines(i).Split("*")
End If
If lines(i).Contains("Last*") Then
Dim Array2() As String = lines(i).Split("*")
End If
DataGridView1.Rows.Add(Array1(1), Array2(1))
Next
我的 DataGridView 包含两列(名字、姓氏)。所以我正在做的是读取所有行,当它遇到以“First *”开头的行时,它会收集名字,通常在该行下方是姓氏。我发现姓氏并不总是在它的正下方,所以我还需要搜索包含“Last*”的行并将两者都添加到 DataGridView。我试图将每个人的名字和姓氏放入 DataGridView。
这是文本文件的示例。
First*Bob
Last*Dole
Address*12 Way
Zip*00000
First*John
Middle*M
Last*Smith
Address*13 Way
Zip*00000
你可以在第二个人身上看到我会得到错误的信息。感谢任何帮助。
这是我正在寻找的 DataGridView 结果。
FirstName | LastName
----------------------
Bob | Dole
John | Smith
【问题讨论】:
-
Dim lines() As String = File.ReadAllLines("C:\People.txt").Where(Function(line) Not String.IsNullOrEmpty(line.Trim())).ToArray()。不要将该文件放在 c:\ -
它实际上不在C:\我只是以位置为例。
标签: vb.net text datagridview export-to-csv file.readalllines