Writing a CSV file in .net

前端 未结 11 1361
生来不讨喜
生来不讨喜 2020-11-27 18:59

I have a requirement to export a dataset as a CSV file.

I have spent a while searching for a set of rules to go by and realised there are quite a few rules and exce

11条回答
  •  醉梦人生
    2020-11-27 19:34

    Here is the function you can use to generate a row of CSV file from string list (IEnumerable(Of String) or string array can be used as well):

    Function CreateCSVRow(strArray As List(Of String)) As String
        Dim csvCols As New List(Of String)
        Dim csvValue As String
        Dim needQuotes As Boolean
        For i As Integer = 0 To strArray.Count() - 1
            csvValue = strArray(i)
            needQuotes = (csvValue.IndexOf(",", StringComparison.InvariantCulture) >= 0 _
                          OrElse csvValue.IndexOf("""", StringComparison.InvariantCulture) >= 0 _
                          OrElse csvValue.IndexOf(vbCrLf, StringComparison.InvariantCulture) >= 0)
            csvValue = csvValue.Replace("""", """""")
            csvCols.Add(If(needQuotes, """" & csvValue & """", csvValue))
        Next
        Return String.Join(",", csvCols.ToArray())
    End Function
    

    As I think, it won't be difficult to convert from VB.NET to C#)

提交回复
热议问题