如何读取txt文件并在Visual Basic 2010 Express中的网格标题中显示结果?

时间:2013-04-07 06:36:39

标签: vb.net datagridview

这听起来很简单,但谷歌搜索了一段时间后仍然找不到答案。我在表单上有DataGridView,它叫做DataGridView1。我有两个txt文件(每个文件中有一列)数据,我希望能够将它们显示为Row&列标题(不是单元格内容)。例如,两个txt文件是

  1. C:\ TEMP \ sObj.txt
  2. C:\ TEMP \ sQue.txt
  3. 现在:
     sObj.txt包含数据a,b和amp; c在一列中&
         sQue.txt包含数据d,e& f在一列中。 现在我想要的是:

    a  b  c
    d
    e
    f
    

    请帮助,我是编程和初学者需要紧急完成。

2 个答案:

答案 0 :(得分:1)

正如我在评论部分已经说过的那样,您需要StreamReader来读取文本文件的行。 首先,您必须导入System.IO - 命名空间:

Import System.IO

因此,使用文件路径将StreamReader声明为文本文件并读取其中的每一行。

然后,您必须将StreamReader的文本作为列添加到DataGridView。 第一个参数是ColumnName,第二个是ColumnHeading:

Using reader As New StreamReader(@"YOURFILEPATHHERE")
    DataGridView1.Columns.Add(reader.ReadLine(),reader.ReadLine())
End Using

现在您已添加了列。添加您的行更容易:

只需阅读行并添加您的行String(linetext)作为参数:

DataGridView1.Rows.Add(reader.ReadLine())

这很简单,只需要很少的研究就可以做到这一点。

答案 1 :(得分:0)

这个答案对我来说对构建我自己的解决方案很有用,我想与其他人分享;

Private Sub LoadColumnsInDGV(FileName As String)
    Try
        Dim sr As New System.IO.StreamReader(FileName)
        Dim TxtNewLine As String
        Dim IsFlagFound As Boolean = True
        Dim NewColName As String
        Dim SplitLine() As String

        Do While sr.Peek() > -1
            TxtNewLine = Trim(sr.ReadLine()) & vbNewLine
            SplitLine = Split(TxtNewLine, vbTab)
            If IsFlagFound Then
                For i = 0 To SplitLine.Length - 1
                    NewColName = Trim(SplitLine(i))
                    NewColName = NewColName.Replace(vbNewLine, Nothing)
                    DataGridView1.Columns.Add(NewColName, NewColName)
                Next
                IsFlagFound = False
            Else
                DataGridView1.Rows.Add(SplitLine)
            End If
        Loop
        sr.Close()
    Catch ex As Exception
        MsgBox("Error on Sub LoadColumnsInDGV " & vbCrLf & ex.Source & vbCrLf & ex.Message)
    End Try
End Sub