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 :

Créer, ouvrir, écrire et fermer dans un fichier Excel (XLS)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Par défaut Créer, ouvrir, écrire et fermer dans un fichier Excel (XLS)
    Bonjour,

    je cherche à savoir comment puis-je faire dans une application en C un fichier Excel de type XLS dans lequel je peux écrire des données ?

    J'aimerai de plus pouvoir écrire certaines données dans un feuille, et certaines autres dans une autre feuille du même classeur XLS.

    Jusqu'à présent, je faisais des fichiers CSV (avec fopen, fprintf et floce), mais je commence à avoir beaucoup de colonnes et la lecture devient de plus en plus "lourdes".

    J'ai vu qu'il existait des possibilités avec C#, mais je tiens à rester en C. De plus, avec les actions d'automation je ne suis pas certain de leur utilité ici (et je n'ai rien trouvé pour le utilisation en C).

    Merci de votre aide !

    T

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Normalement, il faudrait en effet passer par COM car Excel expose ses fonctions en se basant sur cette technologie, via ce que l'on nomme des "interfaces" (une interface COM est donc un groupement de fonctions). Le fait de contrôler une application grâce à ses interfaces COM s'appelle l'automation (plus précisément "OLE automation"). Automation s'utilise très simplement avec certains langages, dont les langages .NET et les différents VB, et beaucoup moins avec d'autres, dont les langages C et C++. Du coup, des bibliothèques ont été écrites afin de faciliter le travail des programmeurs C et C++, LibXL par exemple. Malheureusement, elles sont souvent payantes et plutôt tournées vers le C++. Du coup, la solution que je trouve la plus raisonnable pour lire écrire dans des documents Excel en C consiste à écrire un script qui interagit avec Excel et contrôler le script depuis le programme C. Ou alors considérer comme des bases de données et d'utiliser ainsi une API d'accès aux données, comme ODBC, mais ce n'est pas la meilleure solution.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Par défaut
    Merci Melem pour ta réponse avec des explications très claires.

    Vu la "complexité" de la chose, je vais peut être envisager une autre option : segmenter mes données en série de fichiers différents, dont chaque regroupera des données comme je souhaitais le faire avec des onglets. Simple, cela m'évitera une perte de temps pour un objectif qui est "ponctuel".

Discussions similaires

  1. Écrire des données dans un fichier Excel déjà existant
    Par challe1976 dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/02/2015, 21h50
  2. [PowerShell] Traitement dans un fichier excel (.xls)
    Par DarKZoNe dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 09/01/2013, 16h12
  3. Comment ouvrir, écrire et lire dans un fichier texte ?
    Par Aspic dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/12/2010, 00h08
  4. Créer et écrire dans un fichier excel (VBA)
    Par fadoch dans le forum Excel
    Réponses: 1
    Dernier message: 26/04/2010, 11h19
  5. Réponses: 0
    Dernier message: 24/03/2010, 15h30

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