Frage von CSHARK, 44

CSV-Dateien in eine Listbox auslesen, filtern und in eine XML-Datei abspeichern, mit C# C# C#?

Ich komm einfach nicht weiter, bitte um tipps ;)

Aufgabe: Erstelle ein Programm mit dem die Mitarbeiter und deren Krankenstandstage aus CSVDateien ausgelesen werden kann. Anschließend kann die Liste der Mitarbeiter über den Anfangsbuchstaben der Nachnamen als auch über die Niederlassung gefiltert und in eine XML Datei exportiert werden.

Die CSV-Datei der Mitarbeiter sieht so aus:

MID;Familienname;Vorname;Geschlecht;Geburtsdatum;Niederlassung 1;Walder;Manuela;w;1964-07-09;Hamburg 2;Ziller;Bernhard;m;1971-01-08;München etc.

Krankenstände - CSV:

KID;MitarbeiterID;Beginn;Ende;Krankenstand-Tage 1;81;2005-01-05;2005-01-05;1 2;30;2005-01-07;2005-01-10;2 3;31;2005-01-11;2005-01-17;5

Hat jemand eine Idee wie ich das in eine Win-Form umsetzen kann? Arbeite nur mit C#

Mfg CHARK

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von PWolff, 33

Wenn dir der "Igitt"-Name "Basic" nichts ausmacht - am einfachsten geht das Einlesen wohl mit der Klasse Microsoft.VisualBasic.FileIO.TextFieldParser

Schreiben entweder mit einem XmlSerializer (nativ) oder mit msxml6.dll (extern - lohnt sich nur, wenn du mit deren Objektstruktur schon vertraut bist)

Filtern z. B. mit Elementen aus System.Linq. (Erfordert aber Einarbeitung - eigene Filterfunktion dürfte schneller sein)

Kommentar von CSHARK ,

ok danke, werde den XmlSerializer benutzen, TextFieldParser ist mir neu schau ich mir gleich mal an

Kommentar von PWolff ,

Vermutlich musst du erst einen Verweis auf Microsoft.VisualBasic hinzufügen (Menü "Projekt" -> "Verweis hinzufügen..."; in der Registerkarte ".NET" "Microsoft.VisualBasic" suchen, markieren und auf "OK" klicken)

Kommentar von CSHARK ,

Ja klar hab ich gleich am anfang gemacht danke, hab das problem jetzt mit einem einfachen StreamReader gelöst :P Bin jetzt am struggeln mit dem Sortieren^^

Antwort
von EightSix, 31

An was scheitert es denn? Am Einlesen? Filtern? Exportieren? Du musst ja irgendeinen Ansatz haben.

Antwort
von geri3d, 28

Eine csv Datei einlesen kommt in diesem Video vor:

Keine passende Antwort gefunden?

Fragen Sie die Community