none
Informationen spaltenmäßig in eine Datei schreiben RRS feed

  • Frage

  • Hallo,
    ich will in eine Textdatei Informationen schreiben.
    Für jeden Vorgang eine Zeile, aber mit mehreren Informationen.
    Ideal wäre, wenn diese Informationen pro Vorgang in Spalten bzw. getrennt durch einen Tabulator angeordnet werden:

    Vorgang1     ja       mehrmals     C:\.....
    Vorgang1     nein     einmal       D:\....
    Vorgang2317  ja       -            -

    Welche Möglichkeit gibt es, um mit einfachen Mitteln eine solche Datei zu erzeugen.
    Das der Anwender Excel oder Word besitzt, kann ich nicht voraussetzen.

    Alexander

    Sonntag, 28. Juli 2013 16:44

Antworten

  • Hallo,

    Ein Format wie Excel o.ä. wäre natürlich das beste. Ein empfehlenswertes Format ist CSV. Dabei werden die einzelnen Zellen in einer Zeile durch bestimmte Zeichen (Beispielsweise Semikolons) getrennt. Das Format hat ggf. auch noch mehr Vorteile. Mehr dazu gibts hier. Dieses Format kann man ggf. auch in Excel öffnen.

    Ansonsten, wenn es direkt im einfachen Editor bereits "grafisch" dargestellt werden soll, sind Tabs schon die richtige Wahl. Diese sorgen zwar auch nicht für das beste Layout, aber die Grundstruktur sollte dargestellt werden.

    Bei beiden Systemen musst du alle Datensätze durchgehen und dann Zeile für Zeile in den Stream schreiben. Verbinden könnte man die Daten beispielsweise mittels String.Join:

    string line = String.Join("\t", cells);

    Oder du benutzt String.Format:

    string line = String.Format("{0}\t{1}\t{3}", vorgang, nummer, info);

    Es gibt dafür natürlich mehrere Wege.

    Ein etwas anderes Konzept besteht darin, alles in eine Datenbank zu schreiben, wofür dann aber wieder spezielle Programme benötigt werden.


    <Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    • Als Antwort markiert AlexanderRi Montag, 29. Juli 2013 10:27
    Sonntag, 28. Juli 2013 17:02
    Moderator