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 :

Enregistrer un fichier *.xls


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut Enregistrer un fichier *.xls
    Bonjour a tous,

    J'aimerais savoir s'il est possible en langace C d'enregistrer des données dans un fichier Excel. J'aimerais juste écrire un nombre à l'aide d'un programme dans la première cellule d'un fichier Excel.

    J'ai en effet utilisé le code suivant qui enregistre des données dans un fichier texte. On peut cependant nommer le fichier avec une extension *.xls mais Excel ne le reconnait pas comme un fichier Excel mais comme un fichier texte et demande de le réenregistrer sous un autre nom dans un format Excel, un vrai cette fois ci.

    Voici le code utilisé

    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
    #include <stdio.h>
    #define A 128
     
    int main() 
    { 
    	FILE * fp;
    	char str[A];
    	printf("Fichier ou mettre les resultats ?\n");
    	scanf("%s", str);
    	fp = fopen(str,"w");
    	if (!fp)
    	{
    		fprintf(stderr,"Erreur d'ouverture de fichier\n"); 
    		exit(-1);
    	} 
    	fprintf(fp,"78\n");
    	fclose(fp);
    	system("PAUSE");
    	return(0);
    }
    J'espere que je suis assez compréhensible et j'attends patiemment vos suggestions

    Merci d'avance

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par klutch
    J'aimerais savoir s'il est possible en langace C d'enregistrer des données dans un fichier Excel. J'aimerais juste écrire un nombre à l'aide d'un programme dans la première cellule d'un fichier Excel.
    Excel est un logiciel propriétaire. Je ne suis pas sûr que le format de ses fichiers soit officiellement publié.

    Par contre, comme tout tableur, Excel sait lire des données à partir d'un fichier CSV, qui est un bête fichier texte correctement formaté.

    Détails dans la doc de Excel, par exemple.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut
    Qu'est-ce qu'un fichier CSV ? Dans mon cas, Excel ne peut récupérer les informations de ce fichier texte meme si celui-ci possède l'extension *.xls

    J'ai essayé en utilisant la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[nomdufichier]nomdufichier!A6
    sur la cellule voulue mais Excel refuse de faire le lien avec le bon fichier...

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par klutch
    Qu'est-ce qu'un fichier CSV ? Dans mon cas, Excel ne peut récupérer les informations de ce fichier texte meme si celui-ci possède l'extension *.xls
    Comme je te l'ai dit, le détail est dans la doc de Excel. je n'en sais pas plus.

    Le format CSV général est décrit ici : http://www.wotsit.org

    En gros, il y une ligne de texte par ligne de tableur, et les colonnes sont séparées par des ',' (comma), des ';' (semicolon) ou des TAB.

    L'extension doit être différente de .xls, (par exemple : .txt ou .csv) et il faut probablement faire 'importer'.

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut
    Merci pour ces informations, j'aurais aimé faire une procédure totalement automatique, je pense alors que le seul moyen de le faire est d'utiliser le langage VBA d'Excel. C'est pour éviter son apprentissage que j'ai voulu utiliser le language C.

    Je vais continuer à chercher, et à défaut de trouver, je me mettrais au VBA...

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par klutch
    Merci pour ces informations, j'aurais aimé faire une procédure totalement automatique, je pense alors que le seul moyen de le faire est d'utiliser le langage VBA d'Excel. C'est pour éviter son apprentissage que j'ai voulu utiliser le language C.

    Je vais continuer à chercher, et à défaut de trouver, je me mettrais au VBA...
    Essaye quand même de lancer Excel avec le fichier csv en parametre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       system ("excel.exe monfichier.csv");
    ça marche peut être... Je ne connais pas Excel (je suis plus 'OpenOffice...)

  7. #7
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    Pour les technologies MS, il est toujours possible de passer par un objet COM.

    Pour Excel, le truc est de générer un fichier (extension .xls) avec du contenu HTML.

    !! Surprenant mais ça fonctionne !!

    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
     
    <html xmlns:o="urn:schemas-microsoft-com:office:office"
          xmlns:x="urn:schemas-microsoft-com:office:excel"
          xmlns="http://www.w3.org/TR/REC-html40">
      <head>
        <title>TEST Excel</title>
      </head>
      <body>
        <table border="1" cellspacing="0">
          <thead>
            <tr colspan="3"><td>Titel</td></tr>
            <tr>
              <th width="200"><div style="font-weight:bold">Date</div></th>
              <th width="200"><div style="font-weight:bold">Nombre</div></th>
              <th width="200"><div style="font-weight:bold">Donnée</div></th>
            </tr>
          </thead>
          <tbody>
            <tr align="left">
                <td>1900/01/01</td>
                <td>380419</td>
                <td>Bla bla</td>
            </tr>
          </tbody>
        </table>
      </body>
    </html>

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

Discussions similaires

  1. [AC-2003] Enregistrer un fichier xls depuis vba access2003
    Par leonor dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/06/2010, 20h06
  2. Enregistrer un fichier XLS en CSV
    Par Bloodscalp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2006, 11h51
  3. faire 2 enregistrements de fichiers xls
    Par lefilsacc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/11/2006, 19h40
  4. Enregistrer fichier xls - pilotage depuis access
    Par Celia1303 dans le forum Access
    Réponses: 5
    Dernier message: 15/11/2005, 14h15
  5. Enregistrer fichier .xls sans macro ni code vb
    Par alexxx69 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/11/2005, 17h48

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