2

csv コンテンツ タイプ エクスポートを生成します。

「A」、「B」、「C」、「D」などの列を追加

列 = string.format("""{0}"",""{1}"",""{2}""","A","B","C")

stream.writeline(列);

csv ファイルはエクスポートされましたが、最初の列に二重引用符がありません。すべての列に二重引用符が必要です。私は非常に多くの方法を試しましたが、列 = string.format(" ""{0}"",""{1}"",""{2}"""," という方法の 1 つが正常に機能しています。 A","B","C") -- 最初の列の前にスペースを入れます。

しかし、スペースなしで結果が必要です。

誰でもこれを修正するのに役立ちます。

サンプルコード:

Public Class CSVExporter
    Public Shared Sub WriteToCSV(personList As List(Of Person))
        Dim attachment As String = "attachment; filename=PerosnList.csv"
        HttpContext.Current.Response.Clear()
        HttpContext.Current.Response.ClearHeaders()
        HttpContext.Current.Response.ClearContent()
        HttpContext.Current.Response.AddHeader("content-disposition", attachment)
        HttpContext.Current.Response.ContentType = "text/csv"
        HttpContext.Current.Response.AddHeader("Pragma", "public")

        WriteColumnName()

        For Each item As Person In personList
            WriteUserInfo(item)
        Next

        HttpContext.Current.Response.[End]()
    End Sub

    Private Shared Sub WriteUserInfo(item As Person)
        Dim strb As New StringBuilder()


        AddComma(String.Format("""{0}""", item.Name), strb)
        AddComma(String.Format("""{0} """, item.Family), strb)
        AddComma(String.Format("""{0} """, item.Age.ToString()), strb)
        AddComma(String.Format("""{0:C2}""", item.Salary), strb)


        HttpContext.Current.Response.Write(strb)

        HttpContext.Current.Response.Write(Environment.NewLine)
    End Sub

    Private Shared Sub AddComma(item As String, strb As StringBuilder)
        strb.Append(item.Replace(",", " "))
        strb.Append(" ,")
    End Sub
    Private Shared Sub WriteColumnName()
        Dim str As String = """Name"", ""Family"", ""Age"", ""Salary"""
        HttpContext.Current.Response.Write(str)
        HttpContext.Current.Response.Write(Environment.NewLine)
    End Sub
End Class
4

0 に答える 0