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

Windows Forms Discussion :

[VB.NET] Ecrire dans EXCEL 2002 depuis VB.net


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Par défaut [VB.NET] Ecrire dans EXCEL 2002 depuis VB.net
    bonjour,
    je cherche depuis mon application VB.net a lire un fichier XML afin d'extraire des données pour les mettre en forme sous EXCEL 2002.
    Quelqu'un peut il me dire ou je peut trouver de l'aide ou des exemple de code

    Merci d'avance
    Vijeo

  2. #2
    Membre éprouvé Avatar de arthenius
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 107
    Par défaut
    c'est du c# mais bon ca peu inspirer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        * _xlApp = new Excel.ApplicationClass();
        * object M = Missing.Value;
        * _xlApp.Workbooks.Open(filename,M,M,M,M,M,M,M,M,M,M,M,M,M,M);

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 27
    Par défaut
    Bonjour,

    Pour commencer, il faut que tu ajoutes une référence à ton projet (Dans les composants COM, Microsoft Excel 9.0 Object Library)

    Ensuite, tu auras la classe Excel accessible dans le code.
    Ca te permet de manipuler Excel dans tous les sens.
    C'est très puissant pour word, ca doit être de même pour Excel. Le seul problème (si c'est un problème), est l'absence de documentation de cette dll.

    Pour connaitre le code à taper, je te conseille donc d'enregistrer des macros sous excel avec les traitements que tu souhaites effectuer.
    Ensuite en faisant "modifier" la macro, tu peux visualiser le code de celle ci (en VBA Office). Il te suffit alors de convertir ce code en VB.Net (c'est assez simple).

    J'espere t'avoir aidé, bonne chance pour ton projet.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Par défaut
    Bonjour,

    L'exemple ci-dessous te montre comment je charge des cellules depuis un
    datagrid (aussi certaines fonctions pour le formattage des cellules :

    ' Ouverture du classeur
    Try
    Appli.Workbooks.Open(NomClasseur)
    Catch ex As Exception
    MsgBox("***** IMPOSSIBLE D'OUVRIR LE FICHIER EXCEL *****")
    End Try

    ' Initialisation Classeur et Feuille Excel
    Classeur = CType(Appli.Workbooks(1), Excel.Workbook)
    If IdxCBBsél <> -1 Then
    Feuille = CType(Classeur.Worksheets("Liste"), Excel.Worksheet)
    Else
    Feuille = CType(Classeur.Worksheets("Fiche"), Excel.Worksheet)
    End If

    ' Chargement de la feuille Excel
    If IdxCBBsél <> -1 Then
    ' Liste d'employés selon divers critères
    If IdxCBBsél = 0 Then
    VarTrav = "Liste des employés"
    Else
    If IdxCBBsél = 1 Then
    VarTrav = "Liste des employés actifs"
    Else
    If IdxCBBsél = 2 Then
    VarTrav = "Liste des employés : équipement"
    End If
    End If
    End If
    Feuille.Cells(6, 1) = VarTrav
    ' Titres de colonnes
    If IdxCBBsél = 0 Or IdxCBBsél = 1 Then
    CellDépart = 6
    Feuille.Cells(9, 6) = "Date nais."
    Feuille.Cells(9, 7) = "Date entrée"
    Feuille.Cells(9, 8) = "N° AVS"
    Feuille.Cells(9, 9) = "N° badge"
    Feuille.Cells(9, 10) = "Clé"
    Feuille.Cells(9, 11) = "Télécomm."
    If IdxCBBsél = 0 Then
    Feuille.Cells(9, 12) = "Date sortie"
    End If
    Else
    If IdxCBBsél = 2 Then
    CellDépart = 5
    Feuille.Cells(9, 5) = "Blouse"
    Feuille.Cells(9, 6) = "Veste"
    Feuille.Cells(9, 7) = "Pantalon"
    Feuille.Cells(9, 8) = "Salopette"
    Feuille.Cells(9, 9) = "Pointure"
    Feuille.Cells(9, 10) = "Equipement de sécurité"
    End If
    End If
    With ds.Tables("Employés")
    m = 10
    For i = 0 To .Rows.Count - 1
    k = CellDépart
    For j = 0 To .Columns.Count - 1
    If j = 0 Then
    Feuille.Cells(m, 1) = .Rows(i)(.Columns(j))
    ' Choix de la police
    ' Feuille.Cells(m, 1).Font.Name = "Arial Narrow"
    ' Taille de la police
    ' Feuille.Cells(m, 1).Font.Size = 11
    ' Caractères gras
    Feuille.Cells(m, 1).Font.Bold = True
    ' Couleur de fond (jaune clair)
    ' Feuille.Cells(m, 1).Interior.ColorIndex = 36
    End If
    If j = 1 Then
    Feuille.Cells(m, 7) = .Rows(i)(.Columns(j))
    Feuille.Cells(m, 7).Font.Bold = True
    m = m + 1
    End If
    If j > 1 Then
    ' Format de cellule : texte
    Feuille.Cells(m, k).NumberFormat = "@"
    Feuille.Cells(m, k) = .Rows(i)(.Columns(j))
    ' Alignement horizontal gauche, vertical centré
    Feuille.Cells(m, k).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft
    ' Feuille.Cells(m, k).VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
    k = k + 1
    End If
    Next j
    ' Bordure inférieure des cellules (très fin)
    If i < .Rows.Count - 1 Then
    For k = 1 To 12
    With Feuille.Cells(m, k).Borders(Excel.XlBordersIndex.xlEdgeBottom)
    .Weight = Excel.XlBorderWeight.xlHairline
    End With
    Next
    End If
    k = CellDépart
    m = m + 1
    Next i
    ' Bordure inférieure des dernières cellules (fin)
    For k = 1 To 12
    With Feuille.Cells(m - 1, k).Borders(Excel.XlBordersIndex.xlEdgeBottom)
    .Weight = Excel.XlBorderWeight.xlThin
    End With
    Next
    End With
    End If

    J'éspère que cela te sera utile. Salutations. dp

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Par défaut
    merci pour vos reponses
    @+ Vijeo

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/08/2006, 22h31
  2. [VB.net]ecrire dans un fichier text
    Par grand_prophete dans le forum Windows Forms
    Réponses: 12
    Dernier message: 04/05/2006, 16h37
  3. <xml><asp.net> Ecrire dans un fichier xml
    Par kenkine dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 24/03/2006, 11h17
  4. [VB.NET] Ecrire dans un fichier texte...
    Par robert.michel9 dans le forum VB.NET
    Réponses: 5
    Dernier message: 04/12/2005, 14h35

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