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 :

comment importer une feuille excel avec delphi


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut comment importer une feuille excel avec delphi
    Comment coder delphi pour récuperer certains champs d'une feuille exel et les copier dans une table de la base ACCESS.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut


    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
    var
      ExcelApp   : OleVariant;
      ModWin : OleVariant; // objets window du modèle et des documents
      ModBase : OleVariant; // objet range de base pour parcourir modéle et document en parallèle
       RowOffset : Integer;
       Data : array of string;
       MaxRows,MaxCol : Integer;
     begin
      ExcelApp := TExcelApp.Create;
      try
        ExcelApp.Workbooks.Open(FileName := aFileName);
        ExcelApp.WindowState := xlMaximized;
        ExcelApp.Visible := TRUE;
        ExcelApp.Interactive := FALSE;
     
        ModWin := ExcelApp.ActiveWindow;
        ModBase := ModWin.ActiveSheet.Range['A1','A1'];
        MaxRows := ModWin.ActiveCell.SpecialCells(xlLastCell).Row;
     
        setlength(Data,MaxRows,MaxCol);
        for RowOffset := 0 To MaxRows do
        begin
          // on recupere les info du fichier ecxel 
          For ColOffset := 0 To MaxCol do
             Data[RowOffset,ColOffset] :=  ModBase.Offset[RowOffset,ColOffset].Value;
     
         // ici on insert dans ta table les elements que tu a besoin 
          stQuery :=' insert into (VAL1,VAL2) VALUES ("%s",%s)';
           query.close;
           query.sql.clear;
           query.sql.add(Format(stQuery,[DATA[0],DATA[2]));
           query.ExecSql; 
     
          ModBase.Offset[RowOffset,0].Select;
          ExcelApp.Selection.HorizontalAlignment := xlCenter;
          ExcelApp.Selection.Font.Bold := TRUE;
          ExcelApp.Selection.Interior.ColorIndex := 34; // bleu pâle
          ExcelApp.Selection.Interior.Pattern := xlSolid;
        end;
      finally
        ExcelApp.Interactive := TRUE;
        ExcelApp.Workbooks.Close;
        ExcelApp.Quit;
      end;
    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci amigo pour ta repense mais le code na pas marché un message d'erreur " pas assez de paramètre originaux " dans l'instruction
    begin
    ExcelApp := TExcelApp.Create;

    donc esq je doit ajouté des composants ou qoi .merci d'avance

  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
    Il est possible si tu utilises les composants ADO d'ouvrir des fichiers Excel avec ADO.

  5. #5
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Il te manque le composant d'automation d'Excel.

    Si tu n'as pas le composant (version personnelle de Delphi ), voici un tutoriel que j'ai utilisé pour mon code:

    http://lfe.developpez.com/PasExcel/

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/05/2011, 14h38
  2. lire une feuille excel avec delphi sans excel ?
    Par dragonno dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/10/2010, 15h39
  3. Comment importer une feuille Excel dans une table Access existante?
    Par ac264 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/09/2010, 12h28
  4. Réponses: 9
    Dernier message: 20/09/2007, 12h55
  5. Dupliquer une feuille Excel avec Delphi 7
    Par loci dans le forum Delphi
    Réponses: 1
    Dernier message: 01/07/2006, 15h38

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