文本字段分析器的奇怪问题

时间:2014-12-05 15:20:49

标签: vb.net excel csv

使用" 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

1 个答案:

答案 0 :(得分:1)

该行中有意外的换行符。我只需下载您的文本文件,在Notepad ++中打开它,然后打开View - >显示符号 - >显示行结束功能: enter image description here