Feedback

DataTable in CSV Datei speichern

Sprache: C#

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);
        }
    }
}
/// <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);
        }
    }
}

1 Kommentar