为什么Excel将双空格视为逗号?

时间:2016-11-30 16:10:27

标签: excel vb.net csv outlook export

我在我的vb.net应用程序中写了一个导出到CSV文件,然后我将它导出到Outlook中。

我遇到的问题是,当写入CSV文件时,我的代码正在检查当前字段中的逗号,但是在执行此操作时,它也会错误地使用逗号的双倍空格,或者空格后跟' Enter'按下键(对于多行文本框)

一个例子是,如果在客户的注释部分,有4行文本,一行以空格结束 - 用户按下回车进入下一行,但程序正在进行下一行文本行并为其创建新记录,因为它认为它是逗号...

这是什么原因?这意味着数据必须经过超级验证(即检查没有双重空格等)才能导出,这太费时了。

希望这是有道理的!

这是代码:

Dim result As Boolean = True

Try
   Dim sb As New StringBuilder()
   Dim separator As String = ","
   Dim group As String = """"
   Dim newLine As String = Environment.NewLine

   For Each column As DataColumn In dtable.Columns
      sb.Append(wrapValue(column.ColumnName, group, separator) & separator)
   Next

   sb.Append(newLine)

For Each row As DataRow In dtable.Rows
   For Each col As DataColumn In dtable.Columns
        sb.Append(wrapValue(row(col).ToString(), group, separator) & separator)
    Next

     sb.Append(newLine)
Next

wrapValue的代码

Function wrapValue(value As String, group As String, separator As String) As String

    If value.Contains(separator) Then

        If value.Contains(group) Then
            value = value.Replace(group, group + group)
        End If

        value = group & value & group

    End If

    Return value

End Function

0 个答案:

没有答案
相关问题