从特定行i读取CSV文件

时间:2015-09-07 05:41:34

标签: vb.net

我正在阅读我的CSV文件:

Dim sData()As String             Dim arrName,arrValue As New List(Of String)()

        Using sr As New StreamReader(txtFileName.Text)
            While Not sr.EndOfStream
                sData = sr.ReadLine().Split(","c)

                Dim Curdate As String = sData(0).Trim()
                Dim OrderId As String = sData(1).Trim()
                Dim Exhbitorname As String = sData(2).Trim

            End While
        End Using

在我的csv文件中第一行是列header.i不想读取那些值。我想从第一行读取值,那么我怎么能重写我的代码?

2 个答案:

答案 0 :(得分:3)

试试这个: 您需要在评估计数器值之前读取该行。

    Using sr As New StreamReader(txtFileName.Text)
        Dim counter as Integer = 0
        While Not sr.EndOfStream
            sData = sr.ReadLine().Split(","c)
            If counter > 0 Then
               Dim Curdate As String = sData(0).Trim()
               Dim OrderId As String = sData(1).Trim()
               Dim Exhbitorname As String = sData(2).Trim
            End If
            counter += 1
        End While
    End Using

答案 1 :(得分:0)

试试这段代码:

LocalResult = Application.Run("wbMaster.xlsm!FormatResult.Result")

这里我所做的是引入一个计数器并用0初始化它。我会在每次读取之前检查它的值并在读取之后增加。如果值为0,则意味着指针位于标题行上,所以只需跳过它。

 Using sr As New StreamReader(txtFileName.Text)
Dim rowCounter As Integer = 2
            While Not sr.EndOfStream
  If rowCounter > 2 Then
                sData = sr.ReadLine().Split(","c)

                Dim Curdate As String = sData(0).Trim()
                Dim OrderId As String = sData(1).Trim()
                Dim Exhbitorname As String = sData(2).Trim
 End If
rowCounter = rowCounter + 1
            End While
        End Using