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 :

Chargement fichier Excel dans une stringgrid


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Points : 61
    Points
    61
    Par défaut Chargement fichier Excel dans une stringgrid
    Bonjour,

    Quelqu'un peu-il m'aider? Je cherche tout simplement à charger le contenu d'un fichier excel (2 colonnes, 30 lignes) dans une stringrid (2 colonnes, 30 lignes) sans passer par un opendialog.

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 262
    Points
    25 262
    Par défaut
    Voir l'Objet TExcelApplication (Onglet Serveurs, version Pro), ou alors via OleVariant et Automation Excel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
          ExcelOLE := ComObj.CreateOleObject('Excel.Application');
          try
            ExcelOLE.UserControl := False;
            ExcelOLE.Visible := True;
            ExcelOLE.WorkBooks.Open('fichier.xls');
            ExcelOLE.WorkBooks[1].WorkSheets[1].Range[... faut lire la MSDN !
            ExcelOLE.UserControl := True;
          finally
            ExcelOLE := Unassigned;
          end;

    il y a aussi TMS FlexCell

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Points : 61
    Points
    61
    Par défaut
    merci pour ta réponse rapide ShaiLeTroll, mais je ne vois pas comment je peux utiliser ton code....

    Ton code s'applique t il à VB6?

    Que veux dire l'annotation : il faut lire la MSDN?

    Puis je utiliser ton code tel quel ?

    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
     
    procedure TForm1.ExcelApplication1NewWorkbook(ASender: TObject;
      const Wb: _Workbook);
      xlWBATWorksheet = -4167;
      var
       XLApp, Sheet, Data: OLEVariant;
    begin
    ExcelOLE := ComObj.CreateOleObject('Excel.Application');
          try
            ExcelOLE.UserControl := False;
            ExcelOLE.Visible := True;
            ExcelOLE.WorkBooks.Open('fichier.xls');
            ExcelOLE.WorkBooks[1].WorkSheets[1];
            ExcelOLE.UserControl := True;
          finally
            ExcelOLE := Unassigned;
          end;
    end;

  4. #4
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Citation Envoyé par breizh44 Voir le message
    merci pour ta réponse rapide ShaiLeTroll, mais je ne vois pas comment je peux utiliser ton code....

    Ton code s'applique t il à VB6?

    Que veux dire l'annotation : il faut lire la MSDN?

    Puis je utiliser ton code tel quel ?

    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
     
    procedure TForm1.ExcelApplication1NewWorkbook(ASender: TObject;
      const Wb: _Workbook);
      xlWBATWorksheet = -4167;
      var
       XLApp, Sheet, Data: OLEVariant;
    begin
    ExcelOLE := ComObj.CreateOleObject('Excel.Application');
          try
            ExcelOLE.UserControl := False;
            ExcelOLE.Visible := True;
            ExcelOLE.WorkBooks.Open('fichier.xls');
            ExcelOLE.WorkBooks[1].WorkSheets[1];
            ExcelOLE.UserControl := True;
          finally
            ExcelOLE := Unassigned;
          end;
    end;
    Tu es sûr d'être au bon endroit, tu ne devrais pas poser ta question dans un forum VB ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Points : 61
    Points
    61
    Par défaut
    non désolé, c'est bien delphi 6! (j'arrête pas en ce moment!)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 108
    Points : 61
    Points
    61
    Par défaut
    Je m'explique un peu plus sur ce que je veux faire....

    je souhaite ouvrir le fichier excel (qui est dans c:\eval\fichierexcel.xls) et placer le contenu de la celulle A1 dans la celulle 0 colone 0 de ma StringGrid, ainsi de suite jusqu'à ce qu'on détecte un celulle vide (fin de tableau). Idem pour le contenu de la celulle B1 (celulle 0 colonne 1 de la StringGrid).

    Ceci ce faisant au démarrage du programme (Form principale).

    Merci pour vos conseils.

  7. #7
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut,
    Bonjour,

    Quelqu'un peu-il m'aider? Je cherche tout simplement à charger le contenu d'un fichier excel (2 colonnes, 30 lignes) dans une stringrid (2 colonnes, 30 lignes) sans passer par un opendialog.

    Merci.
    @ breizh44,
    tu as déjà posé cette question et tu as eu une réponse il y a 1 mois de ça.

    http://www.developpez.net/forums/d73...de-stringgrid/

    pour ne pas utiliser "opendialog" tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Excel_A_StringGrid(StringGrid1, 'C:\Ton fichier Excel.xls') ;
    end;
    a+

    NABIL74

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/11/2006, 14h23
  2. [Debutant] Ouvrir un fichier Excel dans une JFrame
    Par Nico+10) dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 27/07/2006, 14h06
  3. Enregistrement fichier excel dans une base mysql (pas csv)
    Par morph12345 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 27/03/2006, 10h01
  4. Réponses: 7
    Dernier message: 04/10/2005, 18h21

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