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

C Discussion :

comment se servir d'un fread sur un fichier xls


Sujet :

C

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Points : 141
    Points
    141
    Par défaut comment se servir d'un fread sur un fichier xls
    bonjour,

    j'écris dans un fichier que j'intitule 'size.dat' grâce à la fonction fprintf(), ensuite j'ai créée une macro qui me permet de calculer 2 sommes dans la colonne 3 et 4 d'un fichier inititulé 'resultat.dat.xls'

    je souhaite récupérer ces moyennes en accédant au fichier 'resultat.dat.xls' par la fonction fread()

    Malheureusement je n'ai aucune idée de la valeur a mettre pour le deuxième argument, il s'agit du nombre d'octet d'un élément??

    qulqu'un sait ce que je doit mettre?
    peut être il existe un système plus simple pour faire mon calcul

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Tu t'embarque dans des choses très compliquées car l'organisation des fichiers XLS n'est pas publiée je crois, donc bon courage.
    Pour le fread, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    size_t fread(void *ptr, size_t t1, size_t nbe, FILE *fic);
    fread() est une procédure de lecture sur fichier qui ne fait aucune interprétation des octets à transmettre.

    Les fichiers de valeur numérique créés par fwrite() sont lisibles en utilisant fread(); il faut de plus que les machines sur lesquelles se font lecture et écriture aient la même représentation des nombres.

    Les arguments sont:

    ptr indique l'adresse du premier octet de la zone mémoire recevant la copie
    t1 et nbe définissent la taille de la zone à transmettre, qui vaut exactement en octets: t1*nbe
    fic est l'adresse servant à identifier le flux, qui doit avoir été correctement ouvert en lecture, avant d'utiliser fread.

    Valeur renvoyée:
    Le nombre d'éléments transmis (nbe) s'il n'y a pas eu d'erreur.
    La fin de fichier peut être atteinte avant que t1*nbe octets soient transmis; la valeur renvoyée indique alors le nombre réél d'éléments, qui est inférieur à nbe.


    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Trap D
    Tu t'embarque dans des choses très compliquées car l'organisation des fichiers XLS n'est pas publiée je crois,
    Si : http://www.wotsit.org mais l'exercice risque d'être assez compliqué.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Points : 141
    Points
    141
    Par défaut
    Bon je crois que tu m'as découragé TrapD...

    je vais peut être réfléchir à quelque chose de plus simple. Si dans ma macro j'enregistre au format txt peut être que ce sera plus facile d'accèder à mes données...
    mes données sont des chiffres mais je ne sais pas si avec fread je spécifie comme 1er argument des: int, char, unsigned char....

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Effectivement, un bon vieux format texte (ou CSV encore plus simple) et tu pourras faire ce que tu veux.
    Donne un exemple complet de ce que tu voudrais faire.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 277
    Points : 141
    Points
    141
    Par défaut
    it's WE time...

    je ferais ça lundi

  7. #7
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par gronaze
    peut être il existe un système plus simple pour faire mon calcul
    Sort ton fichier au format CSV (texte), se sera plus simple pour tout le monde et tu pourras utiliser des méthodes de lecture éprouvées comme fgets(), strtok() etc.
    Pas de Wi-Fi à la maison : CPL

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par gege2061
    Si : http://www.wotsit.org mais l'exercice risque d'être assez compliqué.
    Juste pour la forme, un exemple en PHP : http://phpexcelreader.cvs.sourceforg...er/base/Excel/
    "yapluka" traduire
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

  9. #9
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par David.Schris
    Juste pour la forme, un exemple en PHP : http://phpexcelreader.cvs.sourceforg...er/base/Excel/
    "yapluka" traduire
    Super, je vais voir si on peut en tirer quelque chose.


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

Discussions similaires

  1. [WD-2010] Comment retirer un mot de passe sur un fichier Word 2010
    Par gilgal dans le forum Word
    Réponses: 2
    Dernier message: 01/12/2011, 17h54
  2. Comment bloquer un contrôle Active x sur un fichier flash d'une page html?
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 22/02/2008, 15h07
  3. Réponses: 3
    Dernier message: 31/01/2007, 17h46
  4. comment extraire donnee d'une table sur un fichier
    Par 80stephanie dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/03/2006, 11h50
  5. Réponses: 5
    Dernier message: 22/07/2005, 23h40

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