我正在编写一段代码,希望能够实现以下目标:
.xlsx
文件作为输入这是我的代码:
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行和基于该列的该行的任何信息。
答案 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")