Feedback

C# - DataTable in CSV Datei speichern

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

benötigte Namespaces:
System.IO
/// <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!