IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Télécharger en format Excel


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut Télécharger en format Excel
    Bonjour à tous,

    je me heurte à un petit souci.
    J'ai développé, une appli ASP.NET permettant de gérer les différentes utilsiateurs sur une machine.
    Il y a un bouton présent qui est censé m'exporté une matrice de compétence en format Excel.
    Cela fonctionne sans problème quand je l'exécute en local.

    Par contre, une fois déployée sur le Web, le téléchargent ne s'effectue pas.

    J'ai trouvé dans divers forums certaines idées (passsage en 32 bits, mode realase,...) mais rien n'y fait

    Voici un bout de code.

    La partie ci-dessous fonctionne puisque je vois mais log qui s'affichent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    $('#DownloadCSV').click(function () {
                    if (!isNaN($('#DivisionSelection').val()) && !isNaN($('#AreaSelection').val())) {
                        console.log("je clique");
                        console.log("areaID" + $('#AreaSelection').val());
                        console.log("unitID" + $('#DivisionSelection').val());
                        $.ajax({
                            type: "GET",
                            url: "@Url.Action("PrepareSkillMatrixFile", "Certifications", "HumanResources")", //call your controller and action
                            data: { areaID: $('#AreaSelection').val(), unitID: $('#DivisionSelection').val(), date: $('#Date').val(), pdf: false },
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                        }).done(function (data) {
                            //console.log(data.result);
                            //get the file name for download
                            if (data.fileName != "") {
                                //use window.location.href for redirect to download action for download the file
                                //Call download method in CertificationsController file
                                window.location.href = "@Url.RouteUrl(new
                                    {Area= "HumanResources", Controller = "Certifications", Action = "Download"})/?file=" + data.fileName;
                            }
                        });
                    }
                });
    Par contre ca ne rentre pas dans la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     public async Task<JsonResult> PrepareSkillMatrixFile(int? areaID, int? unitID, DateTime? date, int? forecastID, bool pdf)
     {
                writeInFile("a");
                if (!date.HasValue)
                {
                    date = DateTime.UtcNow;
                }
    //.....
    }


    Quelqu'un saurait me dire pourquoi ? Please HELP

    Merci d'avance pour votre aide

    Cdlt,
    Marsup

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    Bonjour,

    Déjà, au niveau syntaxe, il y a un problème sur les chaînes de cette ligne :
    url: "@Url.Action("PrepareSkillMatrixFile", "Certifications", "HumanResources")", //call your controller and action.

    Je suggère d'utiliser les quotes simples en début et fin de la valeur de l'url.
    url: '@Url.Action("Action", "Controller", "Route")'.

    Ensuite, il te manque le passage du paramètre forecastID.

  3. #3
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Bonjour,

    Merci popo pour ta réponse.
    Mais j'ai toujours le même message d'erreur qui est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
    Ce que je ne comprends pas c'est que cela fonctionne en localhost mais pas une fois que c'est publié.

    Cdlt

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    COM !
    Je dirais qu'il n'y a tout simplement pas Excel sur le serveur.... Ce qui est normal.

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    Je te suggère de regarder du côté de ClosedXml poit générer un fichier Excel sans Excel

  6. #6
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Bonjour,

    Citation Envoyé par popo Voir le message
    Je te suggère de regarder du côté de ClosedXml poit générer un fichier Excel sans Excel
    C'est à dire ?

    Cdlt
    Marsup

  7. #7
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    C'est à dire...
    Exactement ce que j'ai dit.

    Tu souhaite exporter une matrice au format Excel.
    Citation Envoyé par marsupilami34 Voir le message
    Il y a un bouton présent qui est censé m'exporté une matrice de compétence en format Excel.
    Et tu as une erreur COM sur le serveur que tu n'a pas en local sur le composant {00024500-0000-0000-C000-000000000046} qui correspond à l'interface COM Microsoft Excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
    Cette erreur est typique de l'utilisation de Microsoft Excel en liaison COM sur un environnement où il n'est pas installé.
    Donc, je te suggère d'utiliser la librairie ClosedXml pour générer un fichier XLSX sans avoir besoin que Microsoft Excel soit installé.
    Je ne peux pas être plus clair.

  8. #8
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    je veux bien rajouter le ClosedXML mais ca me le souligne en rouge
    Nom : Capture d’écran 2023-07-03 162756.jpg
Affichages : 76
Taille : 23,6 Ko

  9. #9
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Et que charge les nuggets, je n'ai rien :-(Nom : Capture d’écran 2023-07-03 165353.jpg
Affichages : 76
Taille : 36,7 Ko

  10. #10
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    Il y a un moment où il va falloir faire l'effort d'adopter une attitude un peu plus professionnelle.

    Placer ClosedXml au hasard ne va évidemment pas fonctionner. Là tu t'es contenté de le placer devant un objet issu de l'interop Excel.

    Cela revient à écrire int x = "Excel";...

    Ensuite tu recherches le Nuget dans l'onglet "Mise à jour" ! Je te laisse réfléchir au pourquoi tu ne trouves pas de mise à jour d'un NuGet que tu n'as pas installé....

    Enfin, la moindre des choses est d'aller consulter la documentation de ladite librairie.

    Si tu avais pris le temps de faire une recherche sur Google, tu serais tombé sur cette page (1er lien) qui te fournit toutes les informations pour l'installer et l'utiliser.
    https://github.com/ClosedXML/ClosedXML

  11. #11
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Bonjour,

    J'étais aller plus loin dans ma recherche et j'avais enfin trouvé la librairie closedXML dans les nuggets.
    Mais je n'arrive pas à l'installer

    Nom : Capture d’écran 2023-07-04 071534.jpg
Affichages : 71
Taille : 28,1 Ko

    J'ai essayé cette version 0.97.0 car la plus récente me donner le meme message

  12. #12
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    C'est bon, j'ai trouvé...

    Des fois, il faut savoir lire

    Merci et désolé du dérangement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Formulaire Access : Bouton télécharger au format Excel
    Par Stanley1st dans le forum Access
    Réponses: 1
    Dernier message: 16/03/2017, 13h18
  2. [PHP-JS] Bouton télécharger sous format RTF?
    Par moonia dans le forum Langage
    Réponses: 1
    Dernier message: 11/07/2006, 20h05
  3. Envoi état au format Excel
    Par Pierren dans le forum Access
    Réponses: 2
    Dernier message: 28/06/2006, 16h27
  4. export au format excel d'un tableau
    Par zola dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 11/05/2006, 11h25
  5. Convertir une date au format excel en datetime SQL server
    Par ALLB dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/07/2004, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo