Excel & delphi

Résolu
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004 - 16 août 2004 à 12:31
hesnogood Messages postés 10 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 30 juillet 2007 - 25 oct. 2005 à 15:42
Bonjour à tous,
je suis nouvelle dans le monde Delphi et j'aimerais s'il vous plait savoir si l'on peut programmer avec delphi,une application qui permet d'importer vers excel des colonnes d'un fichier texte.
Merci d'avance pour votre aide.

14 réponses

Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
16 août 2004 à 12:44
Salut amsou,

Suivant la version de delphi que tu as, tu retrouve un ensemble de composants permettant de communiquer avec l'application Excel. (TApplicationExcel) Ces composants devrais de te permettre de réaliser l'importation de colonnes d'un fichier texte vers Excel.

Tu trouveras des tutoriels comme celui là te permettant de te familiariser avec ces composants.

Pilotage OLE d'Excel à partir de Delphi

Bonne Prog,

Olivier.
3
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004
16 août 2004 à 17:07
Merci beaucoup Olivier.Tu me sauves la vie. je te ravaudrais ça!
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
16 août 2004 à 17:33
Pas de quoi, les forums ça sert à ça !
0
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004
17 août 2004 à 19:38
Bonjour Olivier,
Je ne suis pas sortie du pétrin car je croie que ce que tu m'as préconisé est valable pour un application client\serveur alors que moi j'ai le fichier texte et l'excel sur mon poste de travail.
Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
17 août 2004 à 21:37
Salut amsou,

cela ne gène en rien tu peux très bien travailler en local, en plus j'aurais tendance à te dire l'inverse, c'est à dire que tu as intérêt à ce que Excel soit sur le poste ou ton application tourne.

FAQ DELPHI --> EXCEL

Regarde ce liens peut être t'aidera t-il ;)

je te met deux trois ligne de code qui t'aiderons peut être aussi !

// Ouverture d'un fichier Excel ou CSV avec TExcelApplication
ExcelApplication.Workbooks.Open('Chemin + Nom de ton fichier',EmptyParam,0,
                                    EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                    EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                    EmptyParam,EmptyParam,0);

// Creer une nouvelle page Excel
var
  Doc       : _Workbook;
  MaFeuille :_Worksheet;
begin
  Doc := ExcelApplication.Workbooks.Add(EmptyParam,0);

  MaFeuille := Doc.Worksheets[1] as _worksheet;
  MaFeuille.Range['A1','A1'].Value2 := 'Coucou';


Le problème avec ces composants et Microsoft c'est que c'est pas forcement les mêmes fonctions suivant la version d'excel que tu utilises !

Bonne Prog,

Olivier.
0
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004
9 sept. 2004 à 17:11
Bonjour,
je voudrais s'il vous plait savoir comment indiquer la position d'un caractère(chiffre) d'un texte à un programme delphi.
Merci!
amsou
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
9 sept. 2004 à 23:31
sois plus explicite amsou, donne un exemple de ce que tu souhaites réalisé avec le plus de détails possible.

Olivier
0
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004
10 sept. 2004 à 09:23
Bonjour Olivier,
En fait j'ai un fichier.txt (ce sont des chiffres) que je veux transférer dans une feuille de calcul Excel.Donc chaque colonne du fichier text dans une colonne bien spécifique de la feuille Excel en plus pour une des colonnes,je dois même arrondir les chiffres avant de les exporter dans la feuille Excel.
Merci pour ta disponibilité.
amsou
0
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004
10 sept. 2004 à 10:40
Olivier, je voulais parler de nombres et non de chiffres.
Merci.

amsou
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
10 sept. 2004 à 14:29
Je suis pas mal occupé, aujourd'hui :sad)

A quoi ressemble ton fichier txt, quel est sa structure ?
Les données dans ton fichier Txt, sont tels à position fixe ou délimiter par des séparateurs tel que ';' ?

Quelle est réelement ton problème ? la récupération des données du fichier txt ? ou l'écriture dans le fichier xls ?

Olivier.
0
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004
10 sept. 2004 à 16:53
Je ne voudrais pas te déranger,tu peux prendre tout ton temps.
Les deux,j'arrive à le faire pour quelques valeurs mais exporter tout le txt dans le xls et chacun dans une position bien spécifique?
Voici une ligne de mon fichier txt:

8020 11 162822 113912.830000 217150

Dans le fichier xls,des cellules sont déjà remplies c'est d'autres qu'on rempli avec ces valeurs.La 4e valeur est celle qu'il faut arrondir (pour toutes les lignes et mettre dans XL.Cells[5,7]; XL.Cells[6,7]; XL.Cells[7,7]; ...; XL.Cells[n,7].
J'espère que tu m'as comprise.
Merci.

amsou
0
cs_amsou Messages postés 13 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 10 septembre 2004
10 sept. 2004 à 16:54
Pendant ce temps je cherche de mon côté.
amsou
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
10 sept. 2004 à 18:37
exemple pour récupérer tous les éléments de ta ligne de texte :

procedure StringGetParam(sText  : string; chSeparator : char; slParams : TSTringList);
var
  iPos : integer;
  sParam : string;
begin
  slParams.Clear;

  sText := Trim(sText);

  while length( sText ) > 0 do
  begin
    iPos := Pos( chSeparator, sText );
    if iPos = 0 then
    begin
      sParam := sText;
      sText := '';
    end
    else
    begin
      sParam := Copy( sText, 1, iPos - 1 );
      Delete(sText, 1, iPos );
    end;
    slParams.Add( sParam );
  end;
end;

var
  slParams : TstringList;
  Value       : integer;

slParams := TstringList.Create;
// tu lis ton fichier dans un TStringList
StringList.LoadFromFile('c:\toto.txt');

//puis tu fais ton traitement

for i := 0 to StringList.count - 1 do
begin
  // Tu récupère tous les éléments de la ligne de texte sélectionner dans un TStringList.
  StringGetParam(StringList.strings[i],#32,slParams);

  // tu récupère valeur par valeur tu les arrondis et tu les transfert sur excel.
  for j := 0 to slParams.Count-1 do
  begin
     Value :=  Round(StrToInt(slParams.Strings[j]));
      XL.Cells[i,j] := IntToStr(Value);
  end;
end;

slParams .Free;
end;


voilà une base sur lequel tu peux t'appuyer, nésites pas à me demander des explications.... ou à me dire que je suis à coté de la plaque ;)

Bonne Prog et Bon week-end,

Olivier 8-)
0
hesnogood Messages postés 10 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 30 juillet 2007
25 oct. 2005 à 15:42
0
Rejoignez-nous