使用" Microsoft.VisualBasic.FileIO.TextFieldParser"时出现了一个奇怪的问题。在VB.NET中。我正在创建一个使用",*"的CSV文件作为分隔符,然后尝试将该文件导出到EXCEL电子表格中。该程序完美地创建了文件,但是当我尝试从文件中提取每个条目并将它们放入Excel表格时,一些条目将被拆分。例如,我的一行中的第一个条目之一是" H WIRE * 30(SHDR-30V& SHDR-30V)160mm"没有引号。当我使用TextFieldParser获取该条目并将其导出到EXCEL时,160mm从条目中删除并添加到下面的行中。见图。 Excel Image
以下是我正在使用的CSV链接。 Test CSV Text File
这是代码。 (我删除了这篇文章的代码的excel部分。)我在里面放了一个消息框来显示Parser正在拉的每个条目。当它到达" H WIRE * 30(SHDR-30V& SHDR-30V)160mm"输入,它读取" H WIRE * 30(SHDR-30V& SHDR-30V)"作为自己的行,之后没有条目,然后读取" 160mm"作为一个新行,剩余的信息应该在一起。 (对不起,如果这让xD感到困惑)
我只是想弄清楚为什么这样做? CSV看起来很好,所有其他行都读取并完美导出到excel。但每一次这一行都在混乱。
提前感谢您的帮助。
非常感谢Idle_Mind。
Dim MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\TEST CSV.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",*")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
MessageBox.Show(currentField)
Next
答案 0 :(得分:1)
该行中有意外的换行符。我只需下载您的文本文件,在Notepad ++中打开它,然后打开View - >显示符号 - >显示行结束功能: