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 :

Ouvrir un fichier Excel existant


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Mai 2010
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 407
    Par défaut Ouvrir un fichier Excel existant
    Bonjour a tous,
    pour ouvrir un fichier Excel existant , j'utilise ce bout de programme :

    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
    var Tab: _workbook;
        Feuil: _worksheet;
        i,j:Integer;
        S:shortstring;
          StrSaveFile: string;
          IntFileType: integer;
          SaveDialog: TSaveDialog;
     
    begin
       try
                SaveDialog := TSaveDialog.Create(nil);
                SaveDialog.Filter := 'Excel files |*.XLSX';
                SaveDialog.Execute;
                IntFileType := SaveDialog.FilterIndex;
                StrSaveFile := SaveDialog.FileName;
                if Length(StrSaveFile) = 0 then
                  Exit
                else
                  StrSaveFile := Trim(SaveDialog.FileName);
     
        ExcelApplication1.Connect;
        ExcelApplication1.Visible[0]:=False;
     
                Tab:=ExcelApplication1.Workbooks.Open(StrSaveFile,False,False,
                      EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                      EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
     
     
              feuil:=Tab.Worksheets[1] as _worksheet;

    chez moi , j'ai office 2013 installé , donc pas de problème.
    mais , chez un de mais client qui a office 2007 installé , je ne peut pas ouvrir le fichier excel.

    y a t il une modification a reporter sur mon code ?
    est comment trouvé les bon paramaitre pour l'ouverture excel , avec cette instruction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tab:=ExcelApplication1.Workbooks.Open(StrSaveFile,False,False,
                      EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                      EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);

    Merci a tous.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    en utilisant directement OLE plutôt que le composant Delphi qui est lié à une version Excel.
    L'avantage d'OLE est qu'il s'adapte automatiquement à la version Excel installée sur le poste si je ne me trompe pas.

  3. #3
    Membre éclairé

    Inscrit en
    Mai 2010
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 407
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    en utilisant directement OLE plutôt que le composant Delphi qui est lié à une version Excel.
    L'avantage d'OLE est qu'il s'adapte automatiquement à la version Excel installée sur le poste si je ne me trompe pas.
    Merci pour le réponse.
    y a t il un exemple pour l'ouverture d'un fichier excel , et écrire des données?

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527

  5. #5
    Membre très actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Par défaut
    Voila un exemple pour ouvrir un fichier 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
     uses comobj;
     
    procedure TForm2.Button1Click(Sender: TObject);
    var
     ExelFile,Dir:string;
     xlApp,xlSheet,xlFile:Variant;
    begin
      Dir:=ExtractFilePath(ParamStr(0));
      if not PromptForFilename(ExelFile,'Excel|*.xlsx','','', Dir) then
        Exit;
      xlApp:= CreateOleObject('Excel.Application');
      try
        xlApp.Visible := False;
        xlApp.DisplayAlerts := False;
        xlFile := xlApp.Workbooks.Open(ExelFile);
        xlSheet:=xlFile.Sheets['Feuil1'];
        ...
     
     
      finally
         xlApp.Quit;
      end;
     
    end;

  6. #6
    Membre éclairé

    Inscrit en
    Mai 2010
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 407
    Par défaut
    Citation Envoyé par wheel Voir le message
    Voila un exemple pour ouvrir un fichier 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
     uses comobj;
     
    procedure TForm2.Button1Click(Sender: TObject);
    var
     ExelFile,Dir:string;
     xlApp,xlSheet,xlFile:Variant;
    begin
      Dir:=ExtractFilePath(ParamStr(0));
      if not PromptForFilename(ExelFile,'Excel|*.xlsx','','', Dir) then
        Exit;
      xlApp:= CreateOleObject('Excel.Application');
      try
        xlApp.Visible := False;
        xlApp.DisplayAlerts := False;
        xlFile := xlApp.Workbooks.Open(ExelFile);
        xlSheet:=xlFile.Sheets['Feuil1'];
        ...
     
     
      finally
         xlApp.Quit;
      end;
     
    end;

    merci pour le réponse ,
    mais comment faire pour remplir les cellules de la feuille ?

  7. #7
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    C'était déjà ma réponse dès le début mais ça n'a pas semblé faire tilt 🙂

  8. #8
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2015
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 63
    Par défaut
    Merci pour le lien vers le fichier que je ne connaissais pas. Effectivement toute la base y est

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

Discussions similaires

  1. [OLE] Ouvrir un fichier excel existant avec borland C++Builder
    Par dkjauspin dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/03/2013, 00h22
  2. [LV 8.6.1] ouvrir un fichier excel existant
    Par Quent' dans le forum LabVIEW
    Réponses: 3
    Dernier message: 23/02/2010, 14h48
  3. Ouvrir un fichier excel existant
    Par Renardo dans le forum Access
    Réponses: 1
    Dernier message: 09/02/2007, 20h07
  4. Ouvrir un fichier excel déja existant
    Par lynal dans le forum Langage
    Réponses: 9
    Dernier message: 24/06/2006, 00h03
  5. Ouvrir un fichier Excel existant
    Par Yanmeunier dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/11/2005, 11h17

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