C# KonsolenApp -> CSV -> Excelstatistik = möglich?
Hallo zusammen
Ich habe eine C#-App geschrieben. Diese schreibt mir am Schluss Daten in eine CSV. Diese Daten importiere ich dann in Excel und mache mir Graphiken.
Nun die Frage. Kann ich mit C# auch direkt eine solche Grafik (z.B. Säulen) in eine Excel schreiben oder kann ich in C# dotNet die Daten so aufbereiten, dass ich quasi Grafiken exportieren kann? Ginge sowas?
Hoffe ich habe mich verständlich machen können, sonst einfach nochmals fragen, bitte.
Grüsse euch.
2 Antworten
XLSX arbeitet mit dem OpenXml-Format, Microsoft bietet auch eine API dafür, ein deutlich einfacherer Wrapper darum ist "ClosedXml", nutze ich aktuell auch.
Ob Du damit dein Vorhaben umsetzen kannst, weiß ich nicht.
Alternativ könntest Du auch auf gängige UI-Frameworks zurückgreifen und schauen, ob es bestehende Frameworks gibt, die solche Diagramme zeichnen - oder Du zeichnest sie selber.
Ich meine, man kann solche Bilder bei WinForms (und ggf. bei WPF) in eine Grafik rendern und die dann beliebig weiter verarbeiten.
Ansonsten kannst Du dir natürlich auch anschauen, wie man direkt in Grafiken zeichnet, dann musst Du das aber alles selber machen.
Ja, geht alles.
Musst Dich für eine Lösung entscheiden...
Variante 1:
Selber Grafiken in C# machen. Geht sehe leicht. Schaut dann so aus:
Kann man statt mit Linien auch mit Säulen und allem anderen möglichen machen.
Variante 2: direkt ein Excel beschreiben geht - würde ich aber nicht raten ist ätzenden Schnittstellengefummel und wenig robust.
Variante 3: nur daten rausschreiben in csv und im Excel automatisiert abholen... geht auch prima.

direkt ein Excel beschreiben geht - würde ich aber nicht raten ist ätzenden Schnittstellengefummel und wenig robust.
Nicht mehr.
Die alte Interop-API war wirklich grausig, das stimmt.
Die neuere OpenXml-API ist deutlich besser, aber immer noch nicht wirklich gut.
Ich nutze ganz gerne das Framework "ClosedXml", das ein Wrapper um die OpenXml-API ist und erheblich einfacher zu nutzen ist.
Mit der Grundlage würde ich als erstes schauen, was mit ClosedXml so geht.