Feedback

C# - DataTable in CSV Datei speichern

Veröffentlicht von am 21.01.2007
(4 Bewertungen)
Schreibt den Inhalt einer DataTable in eine CSV Datei

benötigte Namespaces:
System.IO
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

/// <summary>
/// Schreibt den Inhalt einer DataTable in eine CSV Datei
/// </summary>
/// <param name="path">Pfad der CSV Datei</param>
/// <param name="datatable">die zu schreibene DataTable</param>
/// <param name="seperator">Zeichen mit dem die Spalten getrennt werden. Meist ';' oder ','</param>
private void WriteDataTable(string path, DataTable datatable, char seperator)
{
    using (StreamWriter sw = new StreamWriter(path, false, System.Text.Encoding.Default))
    {
        int numberOfColumns = datatable.Columns.Count;

        for (int i = 0; i < numberOfColumns; i++)
        {
            sw.Write(datatable.Columns[i]);
            if (i < numberOfColumns - 1)
                sw.Write(seperator);
        }
        sw.Write(sw.NewLine);

        foreach (DataRow dr in datatable.Rows)
        {
            for (int i = 0; i < numberOfColumns; i++)
            {
                sw.Write(dr[i].ToString());

                if (i < numberOfColumns - 1)
                    sw.Write(seperator);
            }
            sw.Write(sw.NewLine);
        }
    }
}
Abgelegt unter CSV, DataTable.

1 Kommentare zum Snippet

Michael Kugler schrieb am 27.04.2010:
Leider sehr langsam. Wenn man den Stringbuilder benutzt dauert der gleiche Export von vorher 55 sec nur noch 0,5 sec
 

Logge dich ein, um hier zu kommentieren!