Generieren und Herunterladen von Excel -Dateien in MVC mit AJAX
generieren und herunterladenEine Excel -Datei direkt über einen AJAX -Aufruf in MVC direkt herunterladen ist nicht möglich. Verwenden Sie stattdessen AJAX, um Daten an den Server zu senden, der dann die Excel -Datei generiert.
Schritt 1: Server-Seite Excel-Dateierstellung
Verwenden Sie Bibliotheken wie Epplus oder NPOI, um die Excel -Datei auf dem Server zu erstellen, indem Sie die aus der AJAX -Anforderung empfangenen Daten verwenden.
Schritt 2: Rückgabe der Dateiinformationen an den Client
Nach der Dateigenerierung geben Sie den Pfad oder den Namen der Datei an die Erfolgsfunktion des Ajax Calls zurück.
Schritt 3: Auslösen des Downloads in JavaScript
Im JavaScript success
Rückruf leiten Sie den Browser in eine URL um, die die Datei dient, und initiiert den Download.
AJAX -Beispiel
<code class="language-javascript">$.ajax({ type: 'POST', url: '/Reports/ExportMyData', data: JSON.stringify({ dataprop1: "test", dataprop2: "test2" }), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(returnValue) { window.location = '/Reports/Download?file=' + returnValue; } });</code>
Action für Controller (Datei -Download)
<code class="language-csharp">[HttpGet] public virtual ActionResult Download(string file) { string fullPath = Path.Combine(Server.MapPath("~/MyFiles"), file); return File(fullPath, "application/vnd.ms-excel", file); }</code>
Diese Methode sorgt für einen reibungslosen Download für eine reibungslose Excel-Datei, das durch eine AJAX-Anforderung ausgelöst wird, ohne die Funktionsumstellung des Client-Seites zu stören.
Das obige ist der detaillierte Inhalt vonWie lade ich Excel-Dateien herunter, die über AJAX in MVC generiert wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!