从VB.NET上的xlsx文件输出到控制台结果

时间:2018-05-14 12:25:00

标签: excel vb.net visual-studio

我正在编写一段代码,希望能够实现以下目标:

  1. 该应用程序将Excel .xlsx文件作为输入
  2. 应用程序只使用 您指定的信息并将其逐行输出到控制台
  3. 这是我的代码:

     Private Sub FindValueInExcel()
        Using reader As New StreamReader("D:\excelFileTest.csv")
            While Not reader.EndOfStream
                Dim line As String = reader.ReadLine()
                Dim readLine As String
                For Each readLine In line
                    If readLine = "14" Then
                        Console.WriteLine(readLine)
                    End If
                Next
    
            End While
        End Using
    
    End Sub
    

    问题是上面没有显示任何内容。我希望它的代码只是查看特定的列,显示所有14行和基于该列的该行的任何信息。

1 个答案:

答案 0 :(得分:0)

我认为你的问题是2部分,一个是你没有正确检查csv行变量的内容,而另外两个你正在寻找整行等于“14”,如果这个csv文件有除了一列数据之外你不会得到一个等于14的行。所以,如果你实际检查line变量的值而不是readLine(你不需要)和还使用Arun Kumar建议使用Contains搜索整个字符串行的值,你的代码看起来像这样:

Private Sub FindValueInExcel(ByVal FilePath As String, ByVal SearchValue As String)
    Using reader As New System.IO.StreamReader(FilePath)
        While Not reader.EndOfStream
            Dim line As String = reader.ReadLine()
            If line.Contains(SearchValue) Then
                Console.WriteLine(line)
            End If
        End While
    End Using
End Sub

使用FindValueInExcel("D:\excelFileTest.csv", "14")

进行了调用