Der Martin: Create Excel und Download

Beitrag lesen

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.

  1. 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.

  1. 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.

  1. Ö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:(