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 :

[ASP.NET/C#]Export CSV via HttpResponse


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut [ASP.NET/C#]Export CSV via HttpResponse
    Bonjour,

    J'ai besoin de faire des exports CSV à partir de plusieurs tables au travers d'un click sur un bouton. Il y a ainsi plusieurs appels au code suivant sur l'événement click d'un bouton d'export :
    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
     
    public static void DoExporterEnFluxCSV(DataTable aTable, HttpResponse aResponse, string aFiltreCSV, string aNomDuFichierCSV)
            {            
                DataRow[] LignesExport = aTable.Select(aFiltreCSV);
     
                DataTable DatExport = aTable.Clone();
                LignesExport.CopyToDataTable(DatExport, System.Data.LoadOption.OverwriteChanges);
     
                aResponse.Clear();
                aResponse.Buffer = true;
                aResponse.ContentEncoding = System.Text.Encoding.UTF8;
                aResponse.ContentType = "text/csv";  
     
                // Si chargement dans le navigateur
                // aResponse.AddHeader("Content-Disposition", "inline;filename="+aNomDuFichierCSV);             
                // Si récupération du fichier
                aResponse.AddHeader("Content-Disposition", "attachment;filename=" + aNomDuFichierCSV); 
                aResponse.Charset = "";
     
                DataTableExport.ExportCSV(DatExport, aResponse.Output, true, true);
     
                aResponse.End();
            }
    Cela marche très bien pour une seule table exportée, mais quand il y a plusieurs tables exportées d'affilée, seul le premier export est effectué...

    Je ne connais pas trop le mécanisme du HttpResponse, est-ce que cela vient de là ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Est-ce que tu essayes de faire une procédure du genre : l'utilisateur clique sur un bouton et ça lui crée 25 fichiers CSV sur son ordinateur ... parce qu'en web ce n'est pas possible. Quand on clique sur un bouton, on récupère un flux de réponse et donc 1 et unique fichier CSV. Si il y a plusieurs tables à exporter, il faut les fusionner dans un seul fichier CSV ce qui va poser problème lorsque ces tables n'ont pas la même structure. Il faut à ce moment là revoir la méthode.

  3. #3
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Oui, j'essaie bien de faire quelque chose dans le genre (seulement 3 fichiers ...pas 25). Il n'y aurait pas moyen de contourner le problème d'une autre façon ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Encapsuler les 3 fichiers dans un ZIP ?

  5. #5
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Cela m'irait bien (à la rigueur), mais à l'aide de quoi je peux le faire ce zip ? Il existe ce qu'il faut en natif sous Visual Studio 8 ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Google "librairie zip .NET open source"

  7. #7
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Dernière cartouche...Il n'y aurait pas moyen de déclencher des threads pour effectuer ces différents exports sur la seule action click du bouton ?...Est-ce que cela permettrait de changer quelque chose ?

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Ca ne changerait rien.

  9. #9
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Ok merci pour toutes ces réponses...

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

Discussions similaires

  1. ASP.net et exportation en excel
    Par zaki_1982 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/08/2009, 15h37
  2. [ASP.NET][C#]Export de plusieurs GridView vers Excel
    Par doudou_rennes dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/01/2008, 11h34
  3. [10] [ASP.NET/C#] Exporter un état
    Par hippoX dans le forum SDK
    Réponses: 1
    Dernier message: 07/06/2007, 11h55
  4. Réponses: 1
    Dernier message: 12/07/2006, 12h26
  5. [CR][ASP.NET][C#] Export vers PDF
    Par kaoutara dans le forum SDK
    Réponses: 2
    Dernier message: 20/10/2004, 12h33

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