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

VB.NET Discussion :

Exporter en vb.net cellule datagridview vers Excel avec les même couleur que la Datagrid !


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Points : 52
    Points
    52
    Par défaut Exporter en vb.net cellule datagridview vers Excel avec les même couleur que la Datagrid !
    Bonjour

    J'aimerai pouvoir exporter une datagridview vers Excel; ce que j'arrive avec le code proposé plus bas; mais aussi exporter les couleurs des cellules de Datagrid que je retrouverai dans Excel !

    Si c'est possible, merci de votre aide...

    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
    57
    58
    59
    60
     
    Dim ExcelApp As Object, ExcelBook As Object
            Dim ExcelSheet As Object
            Dim i As Integer
            Dim j As Integer
     
            ' Minimum à 1 
            ProgressBar1.Minimum = 0
            ' Maximum= nombre total de fichier à copier.
            'ProgressBar1 = filenames.Length
            ' On initialise la ProgressBar.
            ProgressBar1.Value = 1
            ' On indique le pas.
            ProgressBar1.Step = 6
            ProgressBar1.Style = ProgressBarStyle.Blocks
            ProgressBar1.Visible = True
     
            'create object of excel
            ExcelApp = CreateObject("Excel.Application")
            ExcelBook = ExcelApp.WorkBooks.Add
            ExcelSheet = ExcelBook.WorkSheets(1)
     
            With ExcelSheet
                For Each col As DataGridViewColumn In Me.DataGridView1.Columns
                    ExcelSheet.Cells(1, col.Index + 1) = col.HeaderText.ToString
                    For i = 1 To Me.DataGridView1.RowCount - 1
                        ExcelSheet.cells(i + 1, 1) = Me.DataGridView1.Rows(i - 1).Cells("numero_offre").Value
                        For j = 1 To DataGridView1.Columns.Count - 1
                            'If DataGridView1.Rows(i - 1).Cells(j).Value = "" Then DataGridView1.Rows(i - 1).Cells(j).Value = "/"
                            ExcelSheet.cells(i + 1, j + 1) = DataGridView1.Rows(i - 1).Cells(j).Value
                        Next
                    Next
                    ProgressBar1.PerformStep()
                Next
            End With
            ExcelApp.Visible = True
            ExcelSheet = Nothing
            ExcelBook = Nothing
            ExcelApp = Nothing
     
            ' Save Excel (XLSX) to a file.
            'ExcelBook.Saveas("D:\Mes Documents\Visual Studio 2015\Projects\EMPLOI_Suivi\WindowsApplication1\bin\Debug\export\Export_Excel.xlsx")
     
            System.Threading.Thread.Sleep(3000)
            ProgressBar1.Visible = False
            MessageBox.Show("Excel créé:" & Chr(10) &
                            "- Sauvegardez le dans le Dossier de votre choix !")
            If System.IO.File.Exists(My.Application.Info.DirectoryPath + "\export\Export_Excel.xlsx") Then
                IO.File.Delete(My.Application.Info.DirectoryPath + " \export\Export_Excel.xlsx")
            End If
            ' Minimum à 1 
            ProgressBar1.Minimum = 0
            ' Maximum= nombre total de fichier à copier.
            'ProgressBar1 = filenames.Length
            ' On initialise la ProgressBar.
            ProgressBar1.Value = 1
            ' On indique le pas.
            ProgressBar1.Step = 6
            ProgressBar1.Style = ProgressBarStyle.Blocks
            ProgressBar1.Visible = False

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Et quel est le problème ? Tu as juste à récupérer la couleur de la cellule et de la donner à celle d'excel, tout comme tu le fais déjà pour la valeur ?!?

    J@ck.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Points : 52
    Points
    52
    Par défaut oui
    Oui c'est exactement ça ...

    Mais je ne réussi pas à trouver le bon code pour cela !

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    https://stackoverflow.com/questions/...-sharp#6059374

    https://stackoverflow.com/questions/...-using-c-sharp

    Hésite pas à chercher en anglais les résultats sont souvent bien plus nombreux et pertinent.

    J@ck.

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Points : 52
    Points
    52
    Par défaut
    Ok je vais voir si je trouve mon bonheur.

    Oui cela aide pour colorer du coté Excel et c'est bien utile... Mais cela ne me donne comment on récupère la couleur dans la DataGrid !!!

    Je veux récupérer seulement la couleur de la DataGrid et non tester la valeur de la cellule car il y a un grand nombre de tests pour obtenir la couleur selon la ou les valeurs incriminées afin d'éviter d'alourdir le code ....

    Sinon je reviendrai

    Merci.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Mouai...
    Je t'aurais bien répondu que normalement si tu arrive à mettre la couleur dans la cellule de ta dgv alors tu devrais savoir la récupérer ...
    Ou même je t'aurais renvoyé vers google ... tu demande à google avant de poster ? parce que sans être méchant la recherche d'une info fait parti intégrante du métier de développeur.... et franchement la j'ai un doute, en demandant à google ce que tu veut j'ai eu a chaque fois la ligne de code dans le premier lien ...

    D'ailleurs j'utilise souvent DuckDuck, et ce qui est génial avec lui c'est qu'il te pose les extraits de code direct dans l'écran des résultats, comme ça

    Bon code,
    J@ck.

Discussions similaires

  1. Export vers Excel avec les noms des colonnes
    Par JauB dans le forum AS/400
    Réponses: 7
    Dernier message: 04/02/2011, 09h18
  2. Exporter le contenu d'un DataGridView vers Excel
    Par David Fouejio dans le forum Windows Forms
    Réponses: 7
    Dernier message: 31/05/2010, 10h50
  3. Réponses: 7
    Dernier message: 05/05/2010, 18h48
  4. Réponses: 1
    Dernier message: 24/11/2008, 20h39
  5. Exporter une dataGridView vers Excel
    Par drayif dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/08/2007, 17h45

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