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

Composants VCL Delphi Discussion :

Exportation de données vers Excel ou Word


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut Exportation de données vers Excel ou Word
    tout le monde, j'aimerais savoir comment envoyer les données contenues dans mon ADOQuery vers une feuille de calcul Excel ou une page Word (dans un tableau)?
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  2. #2
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par vg-matrix Voir le message
    tout le monde, j'aimerais savoir comment envoyer les données contenues dans mon ADOQuery vers une feuille de calcul Excel ou une page Word (dans un tableau)?
    Salut,

    il y a pas mal d'exemple d'export sur le forum vers excel et également l'utilisation de ADO.

    Regarde cela http://www.developpez.net/forums/d67...id-vers-excel/ sa pourra surement te donner des pistes...


  3. #3
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    Merci à vous, à vrai dire je n'ai aucune notion sur les composants à utiliser alors si vous pouvez me donner la marche à suivre je crois que ça m'aidera énormément

    Concrètement voici mon problème:
    Je récupère les résultats d'une requête dans mon ADOQuery pour les afficher dans un DBGrid via un DataSource et c'est le contenu de mon DBGrid (ADOQuery en quelque sorte) que je veux envoyer dans un fichier Excel.
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    D'abord faut voir coté FAQ y a des exemples "prêt à l'emploi" ensuite le DBGrid affiche les données de ton Query donc faut penser requête et pas affichage .
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  5. #5
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    Je n'ai pas de problème avec la génération des résultats. J'arrive à remplir correctement mon DBGrid. Mon problème est comment envoyer le tout vers un fichier Excel.
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  6. #6
    Invité1
    Invité(e)
    Par défaut
    salut
    regardes ici peut etre que ça t'aidera

    http://www.developpez.net/forums/d80...db-vers-excel/

    ou

    http://www.developpez.net/forums/d71...excel-delphi7/

    dans ces exemples c'est pour envoyer des donnees du BDE vers excell

    pour ton cas a la place des tables tu vas utiliser ton DBGRID,

    tu lis les cases de ton DBGRID une a une et tu les copies dans le fichier excell.

    bonne chance

  7. #7
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    Merci beaucoup à vous. Mais le problème qui se pose est qu'il ne copie que 13 enregistrements sur une centaine:
    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
    var
      vMSExcel, vXLWorkbooks, vXLWorkbook, vWorksheet : variant;
      i,j:integer;
     
    begin
    // demarrer excel
    vMSExcel := CreateOleObject('Excel.Application');
    vMSExcel.Visible := true;
     
    //creer un nouveau fichier xls
    vXLWorkbooks := vMSExcel.Workbooks;
    vXLWorkbook := vXLWorkbooks.Add;
     
    //acceder a une feuil
    vWorksheet := vXLWorkbook.WorkSheets['feuil1'];
     
     
    //ecrire les titres des champs
    for i:=0 to ibtable1.FieldCount-1 do
    vworksheet.cells.item[1,i+1].value:=ibtable1.Fields[i].FieldName;
     
    //ecrire les données
    ibtable1.First;
    for j := 1 to ibtable1.RecordCount do
    begin
    for i:=0 to ibtable1.FieldCount-1 do
    begin
    vworksheet.cells.item[j+1,i+1].value:=ibtable1.Fields[i].AsString;
    end;
    ibtable1.Next;
    end;  
     
    end;
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  8. #8
    Invité1
    Invité(e)
    Par défaut
    salut
    13 enregistrements c'est déja un début la méthode est juste, moi ça a toujours marchée

    il faut voir ce que contient ta ibtable1 lors de l'execution de ce code

    essaies de lier ibtable1 a un DBGRID, pour voir les donnes quelle contient

    car le code est juste

    bonne chance

  9. #9
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    J'ai envoyé le contenu de ma table dans un DBGrid et il a affiché une centaine d'enregistrements. Mais l'export ne contient toujours pas tous les enregistrements.

    Néanmoins je vais essayer d'exporter le contenu du DBGrid au lieu de le faire directement avec la table (mais ça m'étonnerais vraiment d'avoir des résultats différents) et je vous tiendrais au courant.
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  10. #10
    Invité1
    Invité(e)
    Par défaut
    essaies de faire ça pour voir si l'erreur vien de la boucle ou de ibtable1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //ecrire les données
    ibtable1.First;
    for j := 1 to ibtable1.RecordCount do
    begin
    for i:=0 to ibtable1.FieldCount-1 do
    begin
    vworksheet.cells.item[j+1,i+1].value:=inttostr(j);
    end;
    ibtable1.Next;
    end;  
      
    end;
    bonne chance

  11. #11
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    J'ai finalement trouvé
    J'avais tout simplement posé le curseur à la 13 ème ligne
    Lorsque je l'envoi à la dernière ligne, tous les enregistrements sont exportés correctement.

    Grand à vous
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

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

Discussions similaires

  1. exporter des données vers Excel
    Par vautour29 dans le forum Access
    Réponses: 10
    Dernier message: 12/12/2006, 17h15
  2. export de données vers excel.
    Par songue77 dans le forum Bases de données
    Réponses: 10
    Dernier message: 21/07/2006, 09h41
  3. [En cours]Exporter des données vers Excel
    Par Muhad'hib dans le forum Contribuez
    Réponses: 2
    Dernier message: 12/01/2006, 14h25
  4. exporter des données vers EXCEL!
    Par JauB dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/11/2005, 15h13
  5. Export de données vers Excel
    Par psykot63 dans le forum Access
    Réponses: 2
    Dernier message: 03/01/2005, 12h04

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