"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Méthode de téléchargement des fichiers Excel générés par MVC Form à l'aide d'Ajax

Méthode de téléchargement des fichiers Excel générés par MVC Form à l'aide d'Ajax

Publié le 2025-04-19
Parcourir:266

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

Téléchargez le fichier Excel via ajax dans mvc

]

Lors du traitement de grandes formes dans MVC, vous devrez peut-être générer un fichier Excel qui contient des données pour un sous-ensemble spécifique du formulaire sans affecter le reste. Ajax fournit une solution pour cela en vous permettant de faire des demandes partielles au serveur.

ne peut pas télécharger directement le fichier Excel

Malheureusement, vous ne pouvez pas renvoyer le fichier que vous souhaitez télécharger directement via Ajax. Au lieu de cela, explorez d'autres moyens de publier des données pertinentes sur le serveur à l'aide d'Ajax.

Génération et réponse des fichiers côté serveur

]

Sur votre serveur, vous pouvez utiliser le code côté serveur pour générer des fichiers Excel. Pour ce faire, envisagez d'utiliser des bibliothèques comme Epplus ou NPOI. Vous pouvez ensuite transmettre le chemin d'accès ou le nom du fichier du fichier créé en tant que valeur de retour à votre appel ajax.

rediriger vers le téléchargement de fichiers

]

Dans le javascript du client, vous pouvez utiliser window.location = '/ report / download? File =' returnvalue pour définir l'emplacement de la fenêtre javascript sur l'URL du fichier, incitant ainsi le navigateur à le télécharger.

Expérience utilisateur sans couture

]

Cette approche offre une expérience utilisateur transparente car l'opération de téléchargement de fichiers ne laisse pas la page source.

Ajax Call Exemple

]

Ce qui suit est un exemple d'un appel ajax qui y parvient:

$.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;
    }
});

Méthode du contrôleur pour le téléchargement de fichiers

La méthode du contrôleur correspondant pour l'opération de téléchargement peut être la suivante:

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

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3