„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Methode zum Herunterladen von Excel -Dateien, die mit dem MVC -Formular mit AJAX generiert werden

Methode zum Herunterladen von Excel -Dateien, die mit dem MVC -Formular mit AJAX generiert werden

Gepostet am 2025-04-19
Durchsuche:339

How to Download an Excel File Generated from an MVC Form using AJAX?

Download Excel -Datei über Ajax in mvc

]

Bei der Verarbeitung großer Formulare in MVC müssen Sie möglicherweise eine Excel -Datei generieren, die Daten für eine bestimmte Teilmenge des Formulars enthält, ohne den Rest zu beeinflussen. AJAX bietet hier eine Lösung, indem Sie teilweise Anforderungen an den Server stellen können.

kann Excel -Datei nicht direkt herunterladen

Leider können Sie die Datei, die Sie über AJAX direkt herunterladen möchten, nicht zurückgeben. Erforschen Sie stattdessen alternative Möglichkeiten, um relevante Daten mit AJAX an den Server zu veröffentlichen.

serverseitige Dateigenerierung und Antwort

]

Auf Ihrem Server können Sie den serverseitigen Code verwenden, um Excel-Dateien zu generieren. Betrachten Sie dazu Bibliotheken wie Epplus oder NPOI. Sie können dann den Pfad oder den Dateinamen der erstellten Datei als Rückgabewert an Ihren Ajax -Anruf übergeben.

Umleiten zur Datei Download

]

Im JavaScript des Kunden können Sie window.location = '/reports/download? File =' returnValue verwenden, um den Ort des JavaScript -Fensters auf die URL der Datei festzulegen und so den Browser zum Herunterladen zu formulieren.

Seamless Benutzererfahrung

]]

Dieser Ansatz bietet eine nahtlose Benutzererfahrung, da der Operation des Datei -Downloads die Quellseite nicht hinterlässt.

ajax rufen Sie Beispiel

]

Das Folgende ist ein Beispiel für einen Ajax -Anruf, der dies erreicht:

$.ajax({
    type: 'POST',
    url: '/Reports/ExportMyData',
    data: '{ "dataprop1": "test", "dataprop2" : "test2" }',
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: function (returnValue) {
        window.location = '/Reports/Download?file='   returnValue;
    }
});

Controller -Methode für Datei Download

Die entsprechende Controller -Methode für die Download -Operation kann wie folgt sein:

[HttpGet]
public virtual ActionResult Download(string file)
{
  string fullPath = Path.Combine(Server.MapPath("~/MyFiles"), file);
  return File(fullPath, "application/vnd.ms-excel", file);
}
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3