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 text avec Excel


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Ouvrir un fichier text avec Excel
    J'essaye d'ouvrir ce fichier avec Excel text en vue d'un traitement

    "HORODATE" "NAMEID" "VALABS" "VALH""VALH_ERR"
    "31.05.2006 09:00:00" "1" "127587770" "950" "0"
    "31.05.2006 09:00:00" "2" "46603300" "1690" "0"
    "31.05.2006 09:00:00" "4" "103564250" "1630" "0"
    "31.05.2006 09:00:00" "5" "116899660" "3640" "0"
    Mais je narrive pas à supprimé les doubles quote avec cette commande delphi

    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
    OA.Workbooks.OpenText(FichierAr,
                            xlWindows,   //Origin
                            1,           //StartRow
                            xlDelimited, //DataType
                            xlTextQualifierDoubleQuote,//TextQualifier      xlTextQualifierSingleQuote  xlNone, xlSingleQuote
                            True,       //ConsecutiveDelimiter
                            False,       //Tab
                            False,       //Semicolon
                            True,        //Comma
                            False,       //Space
                            True,        //Other
                            Vig,         //OtherChar
                            EmptyParam,  //FieldInfo
                            EmptyParam,  //Array1
                            EmptyParam,
                            EmptyParam);

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    à voir ton exemple de fichier, je dirais que ton text est délimité par des
    espaces et non des virgules.
    j'imagine que presentement,
    cette ligne est importé dans excel dans une seule cellule
    HORODATE" "NAMEID" "VALABS" "VALH" "VALH_ERR
    avec la doubles quote du début et de fin manquante.

    donc il faudrait remplacer ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    True,        //Comma
    False,       //Space
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    False,        //Comma
    True,       //Space

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 664
    Points : 3 648
    Points
    3 648
    Billets dans le blog
    2
    Par défaut
    Si ton fichier est un fichier texte, pourquoi ne pas faire la modification directement dans Delphi avec les routines de gestion de fichier.

    Voici un exemple de procedure Delphi qui peut peut être te rendre des services (j'ai écrit ce code de mémoire, je ne suis pas sur PC qui dispose de Delphi) :

    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
    procedure SupprimerChaineDansFichier(nomFichierEntree, nomFichierSortie, chaineASupprimer:string);
    var
       f,s : TextFile;
       ligne: string;
    begin
      // Si le fichier en entrée existe
      if fileexists(nomFichierEntree) then
      begin
        // Affectation du fichier en entrée à la variable f
        assignfile(f,nomFichierEntree);
        // Ouverture en lecture du fichier en entrée et positionnement au début du fichier
        reset(f);
     
        // Affectation du fichier en sortie à la variable s
        assignfile(s,nomFichierSortie);
        // Ouverture en écriture du fichier en sortie (création du fichier si celui ci 
    	// est inexistant  
        rewrite(s);
     
        // Boucle de lecture du fichier en entrée jusqu'à ce qu'on est en fin de fichier
        while not(eof(f)) do
        begin
          // Lecture de la première ligne du fichier et alimentation de cette ligne
          //  dans la variable ligne
          readln(f,ligne);
          // Tant que la chaineASupprimer est présente dans la ligne
          while pos(chaineASupprimer,ligne) > 0 then
          begin
            // On supprime l'occurence de chaineASupprimer de la variable ligne
      	    delete(ligne,pos(chaineASupprimer,ligne),length(chaineASupprimer));
          end;
          // Ecriture de la nouvelle ligne dans le fichier de sortie (sans les occurence de 
          // chaineASupprimer)
          writeln(s,ligne);
        end;
     
        // Fermeture des fichiers en entrée et en sortie
        closefile(s);
        closefile(f);
      end
      else MessageBox(application.handle,'Le fichier n''existe pas.','Erreur',mb_ok);
    end;
    Cette procedure peut être appelée de la manière suivante pour supprimer les caractères " du fichier :
    SupprimerChaineDansFichier('c:\essai\fic1.txt','c:\essai\fic2.txt','"');

    Le résultat sera dans le fichier fic2.txt et non dans le fichier de départ. Cela est plus sûr pour faire des tests...

    En espérant que cela te soit utile

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/08/2008, 13h36
  2. Réponses: 1
    Dernier message: 25/08/2008, 11h57
  3. Comment ouvrir un fichier .xla avec excel ?
    Par Australia dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/11/2006, 18h08
  4. Ouvrir un fichier texte avec le bloc Notes
    Par guidzit dans le forum Access
    Réponses: 2
    Dernier message: 25/09/2006, 14h45
  5. comment ouvrir un fichier XML avec excel
    Par ALCINA dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/03/2006, 14h42

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