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 :

TStringGrid vers Excel


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut TStringGrid vers Excel
    Bonjour,

    J'utilise la méthode suivante pour exporter un TStringGrid vers une feuille Excel : http://delphi.developpez.com/faq/?pa...tringgridexcel

    Le problème est qu'à l'ouverture du fichier généré, beaucoup de caractères parasites sont présents dans mes valeurs exportées (Ce sont des carrés).

    Exemple : "Vide" est écrit dans Excel : V<carré>i<carré>

    Je ne sais pas d'où peut venir le problème ?

    Je suis sous Delphi XE.

    Merci

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 938
    Billets dans le blog
    6
    Par défaut
    problème d'AnsiString et Unicode ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Bonjour,

    Merci pour ta réponse. Ce paramétrage peut se voir où ? Vous gérez l'encodage depuis le composant "TFileStream" ?

    Merci

  4. #4
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    J'ai trouvé la réponse.

    Dans la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure XlsWriteCellLabel(XlsStream: TStream; const ACol, ARow: Word; const AValue: string);
    Remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XlsStream.WriteBuffer(Pointer(AValue)^, L);
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XlsStream.WriteBuffer(Pointer(AnsiString(AValue))^, L);

  5. #5
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    De fait il faut remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    procedure XlsWriteCellLabel(XlsStream: TStream; const ACol, ARow: Word;
      const AValue: string);
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    procedure XlsWriteCellLabel(XlsStream: TStream; const ACol, ARow: Word;
      const AValue: Ansistring);
    Excel me donne toutefois un message d'avertissement à l'ouverture du fichier créé
    Le processus Validation de fichier Office a détecté un problème à l ouverture de ce fichier. Son ouverture risque d être dangereuse.
    ???

    Par ailleur si quelqu'un peut me dire comment sauver les données dans une autre feuille que la feuille1?



    Merci,
    PhilLu

  6. #6
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    C'est un vieux format d'excel (excel 5.0 je crois) qui compte des failles de sécurité. Donc pas possible d'enlever l'avertissement à l'ouverture (sauf peut-être en configurant Excel, mais déconseillé).

    Par contre je n'ai pas de solution gratuite pour un export vers excel. (peut-être passer par du csv).

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

Discussions similaires

  1. Comment exporter un TStringGrid vers Excel par Linkin
    Par MelkInarian dans le forum Delphi
    Réponses: 2
    Dernier message: 09/02/2007, 09h37
  2. Access vers excel
    Par tiopan dans le forum Access
    Réponses: 6
    Dernier message: 05/12/2003, 08h43
  3. [CR] Exportation vers Excel
    Par djamel64 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/12/2003, 14h52
  4. exportation vers excel
    Par Pm dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/01/2003, 14h48
  5. [] [Excel] Exporter un graphe MSChart vers Excel
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 17h49

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