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 :

Exporter un gridview vers un fichier excel


Sujet :

ASP.NET

  1. #21
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Je veux dire .... triste pour moi
    Nan j'y crois pas, en plus c'est une erreur de balise server je suis sur que le bout du tunnel n'est pas loin mais où?
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  2. #22
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Bonjour M. Lucetefalco
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridView1.RenderControl(oHtmlTextWriter)
    Avec ce code je recupère les données de la Gridview, et avec cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
            ExportToExcel("C:\Inetpub\wwwroot\Report.xls", GridView1)
        End Sub
    Je spécifie l'endroit où j'aimerais créer mon fichier pourtant il ne se crée pas du coup t'as raison quand tu dis:
    Ton code n'est pas fait pour créer un fichier
    Quesque j'ai oublié d'écrire stp?
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  3. #23
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    Quesque j'ai oublié d'écrire stp?
    Regarde le code que t'as trouvé et essaye de voir le problème au lieu de copier/coller du code sans chercher à comprendre

  4. #24
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    		Dim MonFichier As IO.FileStream = New IO.FileStream("C:\Inetpub\wwwroot\Report.xls", IO.FileMode.OpenOrCreate)
     
            Response.ContentType = "application/vnd.ms-excel"
            Response.Charset = ""
            Me.EnableViewState = False
            Dim oStringWriter As New System.IO.StringWriter
            Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)
     
     
            GridView1.RenderControl(oHtmlTextWriter)
     
            Response.Write(oStringWriter.ToString())
     
    		MonFichier.Dispose()
    Je me suis rendu compte que le fichier n'était pas créer alors je le créé, puis à la fin de la fonction ExportToExcel() je ferme le fichier
    MonFichier.Dispose()
    Dim MonFichier As IO.FileStream = New IO.FileStream("C:\Inetpub\wwwroot\Report.xls", IO.FileMode.OpenOrCreate)

    Mais je me pose la question comment dire à la fonction de remplir monFichier de la gridView?
    Voici mon éternel erreur quand je lance la fonction:
    Le contrôle 'GridView1' de type 'GridView' doit être placé dans une balise form avec runat=server.
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  5. #25
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Le processus ne peut pas accéder au fichier 'C:\Inetpub\wwwroot\Report.xls', car il est en cours d'utilisation par un autre processus
    Malgré cela mon fichier est quand meme créé mais il est vide (la gridview ne l'a pas rempli) et excel me dit qu'il est en pleine utilisation:
    J'ai placé la foncrion dispose() pour le fermer aussito créer mais je sais pas pourquoi!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim MonFichier As IO.FileStream = New IO.FileStream("C:\Inetpub\wwwroot\Report.xls", IO.FileMode.OpenOrCreate)
    		MonFichier.Dispose()
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  6. #26
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Exusez moi pour ceux qui ont deja lu ce tutoriel, celui-ci ne cré pas le fichier (c'est à dire nous devrions le faire nous mêmes ou bien...)
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  7. #27
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    Exusez moi pour ceux qui ont deja lu ce tutoriel, celui-ci ne cré pas le fichier (c'est à dire nous devrions le faire nous mêmes ou bien...)
    Bah ouais, parce que le but du tuto n'est pas de créer un fichier sur le serveur comme tu souhaites le faire

  8. #28
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Points : 194
    Points
    194
    Par défaut
    Je ne comprends toujours pas le souci !!! ça fait plus que deux semaines et tu n'arrives toujours pas à exporter ton gridview ?

    Essaye de voir d'autres tuto sur le net il en existe beaucoup !
    Au lieu de poser des questions très basiques, essaye de tester votre vode ou de le débogguer pour bien comprendre.

    http://gilles.tourreau.fr/visual_studio/visual-studio-deboguer-avec-visual-studio-20052008.html
    Consultant SharePoint

  9. #29
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    le but du tuto n'est pas de créer un fichier sur le serveur comme tu souhaites le faire
    Je souhaites pas le créer sur le server mais plutot sur ma machine en local.

    Je ne comprends toujours pas le souci !!! ça fait plus que deux semaines et tu n'arrives toujours pas à exporter ton gridview ?
    Faut croire qu'il y'en a qui sont dur à la résolution des problèmes.

    J'arrète pas de fouiller des codes par 'ci et par là j'obtiends quasiment les mêmes resultats et pour couronner le tout j'utilise pas VS donc je ne peux même le débugger.

    Actuellement j'ai un code qui compile sans erreurs mais j'ai du mal à comprendre à quel moment créé le fichier et précisé les informations à mettre la dedans,le format et autres...
    J'ai ce bout de code (Merci Immobilis)
    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
    protected void Button2_Click(object sender, EventArgs e)  {
    Response.Clear();
    Response.AddHeader("content-disposition", "attachment;filename=fichier.xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.xls";
    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    GridView1.RenderControl(htmlWrite);
    Response.Write(stringWrite.ToString());
    Response.End();
    }
     
    public override void VerifyRenderingInServerForm(Control control) {
     
    }
    Merci encore pour ce que vous faites...
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  10. #30
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Points : 194
    Points
    194
    Par défaut
    Essaye de créer un fichier excel vide qui s'appelle fichier.xls sur ton disque c:\
    et change ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    protected void Button2_Click(object sender, EventArgs e)  {
    Response.Clear();
    Response.AddHeader("content-disposition",@"attachment;filename=c:\fichier.xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.xls";
    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    GridView1.RenderControl(htmlWrite);
    Response.Write(stringWrite.ToString());
    Response.End();
    }
    Consultant SharePoint

  11. #31
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Voici comment je crée le fichier vide sur mon disque:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Dim LeCheminFichier As String
       Dim Lefichier As System.IO.FileStream
       Dim MonWriter As System.IO.StreamWriter
     
       LeCheminFichier = "C:\Inetpub\wwwroot\FileName.xls"  
     
       Lefichier = New System.IO.FileStream(LeCheminFichier, IO.FileMode.OpenOrCreate)
       MonWriter = New System.IO.StreamWriter(Lefichier, System.Text.Encoding.ASCII)
     
       MonWriter.Close()
       Lefichier.Dispose()
    Il se cré bien, mais orsque je l'ouvre une BDD apparait avec comme message:
    Le format de fichier que vous tenter d'ouvrir est different de celui spécifier par l'extension de fichier.
    Mais il s'ouvre quand même quand on clic sur oui

    Pour tester j'ai changer l'extension du fichier dans mon code en .xlsx alors là le fichier se crée mais ne s'ouvre plus.
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  12. #32
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Points : 194
    Points
    194
    Par défaut
    Vérifie les noms des fichiers dans ton code s'ils sont les mêmes.
    Consultant SharePoint

  13. #33
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Pour la création du fichier vide? Oui c'est les memes
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  14. #34
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Points : 194
    Points
    194
    Par défaut
    Envoie moi ton code et ta base s'il elle est en access par mail (passe par un message provée d'abord).
    Consultant SharePoint

  15. #35
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Ma base est en sql server 2005, c'est juste une table de numéros de téléphones.
    Le code, jusque là je vous est tout donné:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     <%@ import Namespace= "System.Data" %> 
    <%@ import Namespace= "System.Data.SqlClient" %> 
    <%@ import Namespace= "System.IO" %>
    <%@ import Namespace= "System" %>
     
    <script  language="vb" runat= "server" > 
     
    'fichier pour créer le fichier'
    Private sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
     
       txt.Text="Cliquez pour créer le fichier excel "
     
       Dim LeCheminFichier As String
       Dim Lefichier As System.IO.FileStream
       Dim MonWriter As System.IO.StreamWriter
     
       LeCheminFichier = "C:\Inetpub\wwwroot\FileName.xls"  
     
       Lefichier = New System.IO.FileStream(LeCheminFichier, IO.FileMode.OpenOrCreate)
       MonWriter = New System.IO.StreamWriter(Lefichier, System.Text.Encoding.ASCII)
     
       MonWriter.Close()
       Lefichier.Dispose() 
     
    End Sub     
     
     
    </script>
     
    <html>
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head
     
    ><body>
    <form runat="server">
     <asp:SqlDataSource id="SqlDataSource1"
              runat="server"
              DataSourceMode="DataReader"
              ConnectionString="user id=sa;password=toto;
               database=MaBase;server=MyServer;"
              SelectCommand="SELECT * FROM dbo.IT_CommunautySynch">
          </asp:SqlDataSource>
     
          <asp:GridView
              id="GridView1"
              runat="server"  
              DataSourceID="SqlDataSource1">
          </asp:GridView>
     
    	  <asp:Label ID="txt" Text="" runat="server"></asp:Label>  
          <asp:Button id="btn" runat="server" text="CreationExcel"></asp:Button>
     
    </form>
    </body>
    </html>
    Jusque là la gridview des numéros s'affiche bien, mais j'ai pas la fonction qui crée le fichier crée et rempli le fichier excel à partir des informations de la gridview.

    Merci encore
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  16. #36
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Points : 194
    Points
    194
    Par défaut
    Tu peux mettre le script de ta base de données ?
    Consultant SharePoint

  17. #37
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Je ne travail qu'avec une table indépendante des autres tables,
    comme toutes les tables basiques:
    CREATE DATABASE...
    CREATE TABLE dbo.IT_CommunautySynch(
    numero varchar (8);
    )
    Tu veux les droits ou bien? C'est pas ma base de données tu comprends un peu ma réticence?

    Le script je l'ai pas parceque le proprio n'est pas là, désolé
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  18. #38
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    j'utilise pas VS donc je ne peux même le débugger.
    Pourquoi? Visual Studio Express est gratuit

    Pour créer et écrire dans un fichier texte: http://dotnet.developpez.com/faq/asp...adwritetxtfile
    "Winter is coming" (ma nouvelle page d'accueil)

  19. #39
    Débutant   Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Points : 213
    Points
    213
    Par défaut
    Bonjour M. Immobilis
    Pourquoi? Visual Studio Express est gratuit
    Enfait j'ai commencé ce projet sans utilisé VS et aujourd'hui j'ai quasiment terminé.Le temps pour moi de m'adapter me coute un peu pour l'instant. Mais le prochain ce sera avec passion et envie!

    Pour revenir à mon sujet je sais créer et écrire dans un fichier (en grande partie grace à vous, à M. Lucetefalco surtout)

    Maintenant j'aimerais que le client, à partir d'une gridview (que j'arrive déja à afficher sur ma page, merci encore) exporte ses données sur un fichier excel (sur sa machine) lors de l'appelle d'une fonction. (avec un clic par exemple)

    Merci encore
    C'est quand tout semble perdu qu'il ne faut jamais abandonner...

  20. #40
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    Maintenant j'aimerais que le client, à partir d'une gridview (que j'arrive déja à afficher sur ma page, merci encore) exporte ses données sur un fichier excel (sur sa machine) lors de l'appelle d'une fonction. (avec un clic par exemple)

    Merci encore
    On t'a donné 3 millions de bouts de code et de liens.
    Merci de parcourir les posts précédents

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Exporter un gridView vers un fichier excel
    Par arnogb69 dans le forum VB.NET
    Réponses: 7
    Dernier message: 15/01/2008, 18h37
  2. Export de tables vers plusieurs fichiers excel
    Par miniquick dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/07/2007, 01h11
  3. Réponses: 3
    Dernier message: 06/01/2007, 18h44
  4. export d'access vers un fichier excel prédéfini
    Par kuhnden dans le forum Access
    Réponses: 3
    Dernier message: 05/01/2006, 23h08
  5. [Excel] PHP-MYSQL exportation de données vers un fichier excel
    Par toure32 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/10/2005, 20h29

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