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 plusieurs gridView dans un excel


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Points : 167
    Points
    167
    Par défaut Exporter plusieurs gridView dans un excel
    Bonjour à tous,

    Je souhaite exporter plusieurs gridview dans un excel mais j'ai quelques problèmes. Voici mon code :

    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
    Public Sub exportExcel(ByVal listCheckBox As CheckBoxCustom)
     
         Dim xlApp As Excel.Application
         Dim xlWorkBook As Excel.Workbook
         Dim xlWorkSheet As Excel.Worksheet
         Dim misValue As Object = System.Reflection.Missing.Value
     
         Dim gv As GridView = _fullBatch.fullBatch(listCheckBox.batchID, listCheckBox.jobValues, listCheckBox.subJobValues, listCheckBox.layer)
     
         xlApp = New Excel.ApplicationClass
         xlWorkBook = xlApp.Workbooks.Add(misValue)
         xlWorkSheet = xlWorkBook.Sheets("Feuil1")
     
         For Each col In gv.Columns
              For Each row In gv.Rows
                   xlWorkSheet.Cells(colCpt + 1, rowCpt + 1) = row
                   rowCpt += 1
              Next
              colCpt += 1
         Next
     
     
         xlWorkSheet.SaveAs("C:\....xlsx")
         xlWorkBook.Close()
         xlApp.Quit()
         releaseObject(xlApp)
         releaseObject(xlWorkBook)
         releaseObject(xlWorkSheet)
     
    End Sub
    Ma méthode fullBatch :

    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
    Public Function fullBatch(ByVal batchID As String, ByVal jobName As String, ByVal subJobName As String, ByVal layerID As String) As GridView
     
         Dim gridView As New GridView
     
         Dim selectBatch As SqlCommand = New SqlCommand(...)
     
         With selectBatch.Parameters
         ....
         End With
     
         With selectBatch
         ....
         .Connection = _connection.getConnection()
         .CommandType = CommandType.StoredProcedure
         End With
     
         Try
              If _connection.getConnection.State = ConnectionState.Closed Then _connection.openConnection()
     
                   gridView.AutoGenerateColumns = False
     
                   Dim dscmd As New SqlDataAdapter(selectBatch)
     
                   Dim ds As New DataSet
                   dscmd.Fill(ds)
                   gridView.DataSource = ds.Tables(0)
     
                   gridView.DataBind()
     
                   Return gridView
     
              Catch ex As Exception
                   Console.Write(ex.Message)
                   Return Nothing
              Finally
                   _connection.closeConnection()
         End Try
    End Function
    Le truc c'est que gv.Columns est toujours égal à 0 alors que le gv.Row contient des données.

    Quelqu'un a une idée ou une autre méthode ?

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Points : 167
    Points
    167
    Par défaut
    J'ai trouvé un bibliothèque parfaite : https://epplus.codeplex.com/

    En une ligne on peut ajouter une datatable au Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ws.Cells("A1").LoadFromDataTable(dt, True)
    Pour plus d'informations :

    http://tedgustaf.com/blog/2012/11/cr...-c-and-epplus/

    http://zeeshanumardotnet.blogspot.fr...007-using.html

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

Discussions similaires

  1. Exporter un gridview dans une feuille excel
    Par Laugeek dans le forum ASP.NET
    Réponses: 15
    Dernier message: 09/09/2010, 13h56
  2. [AC-2007] Exporter plusieurs tables dans UNE feuille Excel
    Par Bristow47 dans le forum VBA Access
    Réponses: 8
    Dernier message: 06/07/2010, 08h00
  3. Exporter plusieurs tableaux dans un onglet (EXCEL)
    Par Sissie dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 14/08/2009, 13h49
  4. exporter plusieurs feuilles dans un même fichier texte
    Par rom05 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 22/04/2008, 09h21
  5. Exporter plusieurs résultats dans un fichier
    Par alexping77 dans le forum SAS STAT
    Réponses: 12
    Dernier message: 10/02/2008, 22h50

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