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 :

Demande d'aide sur Génération de Fichier Excel


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut Demande d'aide sur Génération de Fichier Excel
    Bonjour,

    Suite à cette aide de la F.A.Q :

    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
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
     
    xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
    xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
    xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
     
    ' ici on compte le nombre de lignes et de colonnes du datatable
    Dim nbrLigne As Integer = ds.Tables("da").Rows.Count - 1 
     Dim nbrColon As Integer = ds.Tables("da").Columns.Count - 1 
     Dim x, y As Integer
     
    For x = 0 To nbrColon
    ' ici on prends le titre des colonnes du datatable
    xlSheet.Cells(1, x + 1) = ds.Tables("da").Columns(x).ColumnName
    ' on mets la première ligne en gras
    xlSheet.Rows(1).Font.Bold = True
     
    ' pour chaque colonne et chaque ligne on transfert les données      
          For y = 0 To nbrLigne
                xlSheet.Cells(y + 2, x + 1) = DataGrid1.Item(y, x)
          Next
    Next
     
    ' ici on affiche les résultat dans excel
    xlSheet.Application.Visible = True
    ' on peut sauvegarder notre document sur le disque
    xlSheet.SaveAs("C:\nom_document.xls")
    ' on quitte l'application et on détruit les objets
    xlApp.Quit()
    xlSheet = Nothing
    xlBook = Nothing
    xlApp = Nothing
    Je souhaiterais savoir si quelqu'un pourrai m'apporter plus d'explications sur les possibilitées et les "comments faire" pour créer des bordures dans les cellules, des fonds de couleurs, modifier la police et aussi surtout créer plusieurs classeurs excels dans un même fichier...... Enfin tous les petites choses utiles.

    Je remercie d'avance toutes personnes pouvant m'apporter leurs conseils et solutions.

  2. #2
    Membre averti Avatar de Saintelaitlait
    Homme Profil pro
    Responsable ServiceDesk
    Inscrit en
    Août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable ServiceDesk
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 179
    Points : 355
    Points
    355
    Par défaut
    Salut,

    personnellement, je trouve que travailler avec Excel.Application c'est pénible et affreux.

    Je préfère, et de loin, la bibliothèque EPPlus.

    Elle permet de travailler avec les cells "énuméré" (is that a word?) donc de travailler avec Linq.

    Elle supporte :
    Cell Ranges
    Cell styling (Border, Color, Fill, Font, Number, Alignments)
    Charts
    Pictures
    Shapes
    Comments
    Tables
    Protection
    Encryption
    Pivot tables
    Data validation
    Conditional formatting
    VBA
    Many more...

    Have fun

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    c'est vrai que si c'est pour faire de l'xlsx il est peut etre préférable de partir sur de la génération open xml plutot que de l'interop

    si tu veux continuer dans l'interop, à chaque question que tu te poses, il faut enregistrer une macro dans excel pendant que tu fais quelque chose, et tu peux récupérer le code vba pour le "coller" dans vb.net (il y a peu d'adaptations en général)
    (il faut activer l'onglet développeur dans excel)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par Saintelaitlait Voir le message
    Salut,

    personnellement, je trouve que travailler avec Excel.Application c'est pénible et affreux.

    Je préfère, et de loin, la bibliothèque EPPlus.

    Elle permet de travailler avec les cells "énuméré" (is that a word?) donc de travailler avec Linq.

    Elle supporte :
    Cell Ranges
    Cell styling (Border, Color, Fill, Font, Number, Alignments)
    Charts
    Pictures
    Shapes
    Comments
    Tables
    Protection
    Encryption
    Pivot tables
    Data validation
    Conditional formatting
    VBA
    Many more...

    Have fun
    Cette bibliothèque a l'air très interressante, mais peut-on faire des fichiers excel format 2003 (extension : *.xls)
    Les PC qui utiliseront mon petit programme n'ont pas Office 2007 mais 2003.

    De plus y-a-t'il une aide dans cette bibliothèque. Des explications sur la créations de feuille excel, classeur, bordure....

    Merci pour toutes ces informations...

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    ce genre de bibliothèque (il en existe plusieurs) ne permet que l'xslx
    néanmoins il existe un pack de compatibilité pour office 2003 pour qu'il puisse utiliser les xlsx

  6. #6
    Membre averti Avatar de Saintelaitlait
    Homme Profil pro
    Responsable ServiceDesk
    Inscrit en
    Août 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable ServiceDesk
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 179
    Points : 355
    Points
    355
    Par défaut
    Commen mentionné par Pol63, il existe un pack de compatibilité. C'est ce qui est utilisé dans ma bôite.


    Et pour ta deuxième question, si tu avais pris la peine de chercher pendant 10 seconde, tu aurait vue que sur le site codeplex de EPPlus, il y a un onglet downloads.

    Tu peux y télécharger l'aide au format chm.

    Bonne lecture

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Points : 455
    Points
    455
    Par défaut
    Merci Saintelaitlait
    Super Bilbiothèque

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Merci pour toutes ces informations.

    Ceci dit connaissez vous une solution pour générer des fichiers Excel au format "*.xls"

    Merci pour tout...

  9. #9
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    j'ai utilisé Npoi pour générer du xls, une bibliothèque assez simple à prendre en main: NPOI

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    j'ai utilisé Npoi pour générer du xls, une bibliothèque assez simple à prendre en main: NPOI
    Et bien merci à toi pour cette info. Je vais regarder cette bibliothèque.

    En espérant pourvoir la comprendre facilement....

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2013, 19h45
  2. Demande d'aide sur le fichier output
    Par tintin215 dans le forum Administration système
    Réponses: 2
    Dernier message: 04/02/2008, 19h53
  3. Demande d'aide sur installation auto d'un fichier
    Par SKY-FRANCE dans le forum Windows
    Réponses: 13
    Dernier message: 01/12/2007, 17h25
  4. Aide sur ouverture de fichier avec access
    Par FusionR dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/06/2004, 12h02
  5. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 19h38

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