Exporter des données vers Excel

Messages postés
49
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
29 novembre 2010
- - Dernière réponse : nj18
Messages postés
2
Date d'inscription
mardi 25 décembre 2018
Statut
Membre
Dernière intervention
25 décembre 2018
- 25 déc. 2018 à 11:21
Bonjour à tous

J'ai une base de données sur Interbase et l'interface que j'ai utilisé est Delphi 7. j'aimerai créer un boutton qui me permettra d'exporter les données de ma table vers Excel. Ya t-il quelqu'un qui peux m'aider?
Afficher la suite 

Votre réponse

13 réponses

Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
Exporter ?


directement au fomat .xls ou
au fomat .csv ?

cantador
Commenter la réponse de cs_cantador
Messages postés
298
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011
0
Merci
Bonjour ;-)

Je t'invite de voir a source déposée sur le site: http://www.delphifr.com/codes/GESTIONNAIRE-SOUCHOTHEQUE_44958.aspx

Bon courage et bonne programmation.

haftari.fouad
Commenter la réponse de HAFTARIFOUAD
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
Ton export est disons "inspiré" de la source de JodeQa, ce qui n'enlève rien à ton travail effectué sur ton gestionnaire HAFTARIFOUAD.
Mais, c'est bien aussi de citer les auteurs..   

cantador
Commenter la réponse de cs_cantador
Messages postés
49
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
29 novembre 2010
0
Merci
je veux les exporter directement au fomat .xls

Merci de m'aider.
Commenter la réponse de kam_2006
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
cantador
Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
Lors d'un export, il faut s'assurer que le fichier pourra être lu par le plus grand nombre et resté compatible avec les outils du moment (Excel, OpenOffice, etc..)
Dans cette optique, le format .csv est idéal.
Le fichier est petit et rapidement constitué.
Si tu le souhaites je te passerai des liens pour le code.

cantador
nj18
Messages postés
2
Date d'inscription
mardi 25 décembre 2018
Statut
Membre
Dernière intervention
25 décembre 2018
-
moi aussi j besoin de ces liens merci
Commenter la réponse de cs_cantador
Messages postés
28
Date d'inscription
samedi 29 avril 2006
Statut
Membre
Dernière intervention
11 mars 2011
0
Merci
salut cher contador, je suis interesse par la maniere de faire cet export au format csv, je compte sur votre bonne comprehension
Commenter la réponse de cs_ibrahimakhalil
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
@:ibrahimakhalil :

Bonjour,

procedure TFom1.DatasetToTextFile(ds: TDataSet; nomFichier: string;  separateur: string ';'; delimiteur: char #0);
var
  i: integer;
  fichier: TextFile;
  bm: TBookmark;
  sCursor: TCursor;
  valeur: string;
  openDS: boolean;


begin
  try
    { Création du fichier de sortie }
    AssignFile(fichier, nomFichier);
    Rewrite(fichier);
  except
    on e: exception do
      raise Exception.Create('Erreur pendant la création du fichier [' + nomfichier + '] : ' +
        sLineBreak + e.message);
  end;


  sCursor := Screen.Cursor;
  Screen.Cursor := crHourGlass;
  try
    ds.DisableControls;
    openDS := not ds.Active;
    bm := nil;
    try
      with ds do
      begin
        if openDS then
          Open
        else
        begin
          bm := ds.GetBookmark;
          First;
        end;
        for i := 0 to FieldCount - 1 do
        begin
          if (i > 0) then
            write(fichier, separateur + ds.Fields[i].FieldName)
          else
            write(fichier, ds.Fields[i].FieldName);
        end;
        writeln(fichier);
        while not Eof do
        begin
          for i := 0 to FieldCount - 1 do
          begin
            { ajout du délimiteur si le champ est de type texte }


            if (delimiteur <> #0) and
              (Fields[i].DataType in [ftString, ftMemo, ftFmtMemo, ftFixedChar, ftWideString]) then


              valeur := AnsiQuotedStr(Fields[i].AsString, delimiteur)


            else
              valeur := Fields[i].Text;


//            if (Fields[i].DataType = ftMemo) or (Fields[i].DataType = ftFmtMemo) then
//              valeur := Fields[i].AsString;


            { à partir du second champ, on ajoute le séparateur }
            if (i > 0) then
              write(fichier, separateur + valeur)
            else
              write(fichier, valeur)
          end;
          writeln(fichier);
          Next;
        end;
      end;
    finally
      if openDS then
        ds.Close
      else
      begin
        ds.GotoBookmark(bm);
        ds.FreeBookmark(bm);
      end;
      ds.EnableControls;
      CloseFile(fichier);
    end;
  finally
    Screen.Cursor := sCursor;
  end;
end;

cantador
Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
@Nix :

Bonjour,


A quand la balise de code ?

cantador
Commenter la réponse de cs_cantador
Messages postés
28
Date d'inscription
samedi 29 avril 2006
Statut
Membre
Dernière intervention
11 mars 2011
0
Merci
    Merci pour la réponse, je vais executer et vous tenir informer du résultat dont j'obtinedrai
merci d'avance
Commenter la réponse de cs_ibrahimakhalil
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
de rien ibrahimakhalil...

cantador
Commenter la réponse de cs_cantador
Messages postés
2
Date d'inscription
samedi 2 août 2008
Statut
Membre
Dernière intervention
13 juin 2016
0
Merci
léo
merci pour votre aide
Commenter la réponse de leo1982
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
8
0
Merci
ibrahimakhalil serait devenu leo1982 ?

cantador
Commenter la réponse de cs_cantador