Hallo,
wie kann man "on the fly" eine Excel-Datei in C# kreieren und sofort als downlod anbieten?
indem man die Ausgabe sofort an den Client sendet, anstatt sie in eine Datei zu speichern. In PHP wäre das trivial; C# kenne ich nicht, kann also nicht speziell darauf eingehen.
- Einen Link anklicken "Create CSV". (Da wird eine Methode aufgerufen)
Nein. Da wird ein ein HTTP-Request gesendet und damit in der Regel ein ganzes Script aufgerufen. Und aus der Excel-Datei ist jetzt nur noch eine gewöhnliche CSV-Datei geworden? Das macht zumindest das Erzeugen der Daten wesentlich einfacher.
- in dieser Methode --> Create CSV.
Im Prinzip ja. Erzeuge die CSV-Daten Zeile für Zeile und sende sie als HTTP-Response an den Client. Nicht vergessen, vorher den passenden Content-Type-Header "text/csv" zu senden, wie auch Auge schon erwähnte.
- Öffnen das Download-Fenster, um die CSV-Datei zu downloaden.
Das macht der Client von allein, wenn er nicht so konfiguriert ist, CSV-Dokumente sofort an die passende Anwendung zu übergeben. Damit hast du jedenfalls von der Serverseite aus nichts am Hut.
Ciao,
Martin
Chef zum Bewerber: Es gibt zwei Dinge, auf die ich allergrößten Wert lege. Das eine ist Sauberkeit! Haben Sie übrigens die Schuhe auf der Matte abgetreten? - Ja, selbstverständlich. - Gut. Das andere ist uneingeschränkte Ehrlichkeit. Übrigens, draußen liegt gar keine Fußmatte.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(