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

 Delphi Discussion :

utilisateur d'excel avec delphi7


Sujet :

Delphi

  1. #1
    Membre éclairé Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut utilisateur d'excel avec delphi7
    bonjour à tous et à toutes,

    voila j'aimerais avoir un bouton qui me permet de récupérer un ensemble de données et que je puisse récupérer toutes ces données et les mettre dans un fichier excel

    est ce que quelqu'un peut me dire comment on procéde

    merci

  2. #2
    Invité1
    Invité(e)
    Par défaut exportpdoxceldlg
    bonjour

    si j'ai bien compris, il y a bien un composant qui recupere des données du BDE vers EXCELL

    telecharges "exportpdoxceldlg" c'est gratuit

    bonne chance

  3. #3
    Membre éclairé Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    oui j'aimerais pr programmation récupérer les données qui sont dans un dbgrid les envoyer vers un fichier excel le remplir ligne aprés ligne (dans l'excel) et enregistrement aprés enregistrement dans ma BD qui est fait avec SQL serveur

    merci

  4. #4
    Invité1
    Invité(e)
    Par défaut
    regardes ici peut etre que tu y trouveras ton bonheur

    http://www.jcolibri.com/articles/off...el_delphi.html

    bonne chnace

  5. #5
    Membre éclairé Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    bon alors j'ai vu kelkes codes sur internet j'ai essayé de faire comme ca :
    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
     
    procedure TForm3.Button6Click(Sender: TObject);
    var vMSExcel: Variant;
    var i,j:integer;
    begin
    ExcelApplication1.Connect ;
    vMSExcel:=CreateOleObject('Excel.Application');
    try
        vMSExcel := GetActiveOleObject('Excel.Application');
    except
        vMSExcel := CreateOleObject('Excel.Application');
    end;
    ExcelApplication1.Visible[0]:=true;
    vMSExcel.Workbooks.Add;
    for i:=1 to dbgrid1.DataSource.DataSet.RecordCount do
    begin
    for j:=1 to dbgrid1.Columns.Count do
    begin
    //vMSExcel.Workbooks.open('C:\Program Files\Borland\Delphi7\Projects\rapport\employes.xls');
    vMSExcel.visible:=true;
    vMSExcel.Workbooks[1].WorkSheets[1].Cells[i+1,j].Value:=dbgrid1.DataSource.DataSet.Fields.Fields[j].Text ;
    end;
    end;
     
    end;
    sauf que la premiére ligne se rempli et c'est tout aprés j'ai un message d'erreur :List index out of bounds (20)

    merci

  6. #6
    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
    Par défaut
    Salut

    tu peux d'inspirer de cela pour mieux comprendre.

    http://www.developpez.net/forums/d67...id-vers-excel/

    A plus

  7. #7
    Invité1
    Invité(e)
    Par défaut
    j'espere que ça va t'aider


    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
     
    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 table1.FieldCount-1 do
    vworksheet.cells.item[1,i+1].value:=table1.Fields[i].FieldName;
     
    //ecrire les données
    table1.First;
    for j := 1 to table1.RecordCount do
    begin
    for i:=0 to table1.FieldCount-1 do
    begin
    vworksheet.cells.item[j+1,i+1].value:=table1.Fields[i].AsString;
    end;
    table1.Next;
    end;  
     
    end;
    bonne chance

  8. #8
    Membre éclairé Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    merci bcp samy ca marche trés bien

    est ce que je peux faire la meme choz mais aprés une recherche et aussi comment faire la meme chose pour les envoyer non vers un document excel mais vers un document texte (bloc note)

    encore merci

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Par défaut
    Bonjour lila voilà un code que je l'utilise pour exporter des données vers excel
    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
    procedure TForm1.Button1Click(Sender: TObject);
    var vMSExcel: variant;
        i,row:integer;
        bookmark:Tbookmarkstr;
        table:tdataset;
     
    begin
       //créer et rendre visible excel
       table:=dbgrid1.datasource.dataset;
       ExcelApplication1.Visible[0]:=true;
       excelapplication1.workbooks.add(NULL,0);
       //remplir la première ligne avec les noms des champs
       vMSExcel:=ExcelApplication1.ActiveCell;
       for i:=0 to table.Fields.Count-1 do
       begin
       vMSExcel.Value:=table.Fields[i].DisplayLabel;
       vMSExcel:=vMSExcel.Next;
       end;
       vMSExcel.AutoFormat(10,NULL,NULL,NULL,NULL,NULL,NULL);
       //remplir les lignes suivantes avec les enregts.
       table.DisableControls;
       try
        bookmark:=table.Bookmark;
        try
         table.First;
         row:=2;//table.RecordCount+1;
         while not table.Eof do
         begin
           vMSExcel:=ExcelApplication1.Range['A'+inttostr(Row), 'A'+inttostr(Row)];
           for i:=0 to table.Fields.Count-1 do
           begin
             vMSExcel.Value:=table.Fields[i].AsString;
            vMSExcel:=vMSExcel.Next;
           end;
           table.Next;
           Inc(row);
         end;
         finally
          table.Bookmark:=bookmark;
         end;
         finally
          table.EnableControls;
         end;
         //formater le tableau pour que  cela fasse joli
         //vMSExcel:=ExcelApplication1.Range['A1','E'+inttostr(row-1)];
        //vMSExcel.AutoFormat(3,NULL,NULL,NULL,NULL,NULL,NULL);
     
     
     
    end;
     
    end.

  10. #10
    Membre éclairé Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    merci sam83 c'est gentil je vais essayer ton code

    heuresement que vous etes tous la pour m'aider sinon je deviendrais comme ca

  11. #11
    Invité1
    Invité(e)
    Par défaut
    salut

    Citation Envoyé par lila23 Voir le message
    est ce que je peux faire la meme choz mais aprés une recherche et aussi comment faire la meme chose pour les envoyer non vers un document excel mais vers un document texte (bloc note)
    encore merci
    quand tu dis recherche tu veux dire "filtrage" si c'est le cas oui tu peux

    pour envoyer vers un document texte j'ai jamais essayé mais je pense c'est faisable

    bonne chance

Discussions similaires

  1. [Débutant] Sauvegarder Excel avec un nom que l'utilisateur peut choisir
    Par yashiromah dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 03/08/2012, 20h26
  2. [CR7][Word] Ouvrir un fichier Word ou excel avec CR
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/04/2005, 19h47
  3. Charger les données Excel avec Forms 9i
    Par Process Linux dans le forum Forms
    Réponses: 8
    Dernier message: 29/03/2005, 14h20
  4. exploiter une base de données excel avec delphi
    Par budylove dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2005, 19h37
  5. creation d'utilisateur sous interbase avec tous les droits
    Par devalender dans le forum InterBase
    Réponses: 2
    Dernier message: 13/09/2004, 10h00

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