écriture dans excel

écriture dans excel - C++ - Programmation

Marsh Posté le 25-02-2005 à 14:55:26    

Salut à tous,
 
une question sans doute classique (mais rien trouvé pouvant m'aider)
 
je réalise un programme de comptage et de tri et je cherchais à écrire les résultats dans un joli tableau excel et obtenir de beaux graphiques.  
Mais voilà je suis incapable de trouver la procédure afin d'écrire dans une cellule précise d'une feuille précise. D'où ma question :
 
comment on fait?
 
est-ce possible de facon simple
cela ressemble t'il à la méthode utilisée dans les macro  
est-ce totalement différent
...
 
merci à tous ceux qui auront la bonté de répondre

Reply

Marsh Posté le 25-02-2005 à 14:55:26   

Reply

Marsh Posté le 01-03-2005 à 22:51:25    

Ton programme est codé en quoi :
 
C, C++ ou autre... car excel te propose aussi le Visual Basic (VB) et si tu as bien fait ton algo ou speudo-code tu peux essayer de le programmer en VB via une macro Excel
 
l'aide est francais et si tu es habitue au C, C++ cela ne te depaysera pas trop :D :D :D

Reply

Marsh Posté le 02-03-2005 à 17:23:04    

mon algo est écrit en C (mon tout premeier dans ce langage)
 
comme tu me le proposes je l'avais d'abord écrit en VB via une macro (la aussi je suis débutant, en fait je suis mécanicien)mais deux souci je me suis retrouvé confronté à 2 soucis :
- mes tuteurs voulant qu'il soit écrit en C
-une temps d'execution abominablement long avec les macro (environ une heure contre une petite minute en C)
 
Je cherchais donc uniquement à envoyer certaines de mes données sous excel afin de dresser un tableau présentable en continuant à travailler en C. Sur le fond j'arrive à obtenir ce que je veux dans les deux cas mais j'aurais voulu exporter mais résultats obtenu par l'algo en C sur un fichier plus facilement exploitable.

Reply

Marsh Posté le 06-03-2005 à 16:18:44    

lechals a écrit :

mon algo est écrit en C (mon tout premeier dans ce langage)
 
comme tu me le proposes je l'avais d'abord écrit en VB via une macro (la aussi je suis débutant, en fait je suis mécanicien)mais deux souci je me suis retrouvé confronté à 2 soucis :
- mes tuteurs voulant qu'il soit écrit en C
-une temps d'execution abominablement long avec les macro (environ une heure contre une petite minute en C)
 
Je cherchais donc uniquement à envoyer certaines de mes données sous excel afin de dresser un tableau présentable en continuant à travailler en C. Sur le fond j'arrive à obtenir ce que je veux dans les deux cas mais j'aurais voulu exporter mais résultats obtenu par l'algo en C sur un fichier plus facilement exploitable.


 
Je ne sais pas si cela peut t'aider, mais tu peux enregistrer tes résultats dans un fichier .CSV (fichier avec séparateur [tab] ou [;] ou autre qui remplace tes colonnes et te donne un fichier texte) et non .XLS via ton code C et ensuite l'exploité avec excel en le convertissant en XLS...
 
un fichier CSV a cette architecture :
 
colonne 1;colonne 2;colonne ...;colonne n-1;colonne n
 
donc a toi d'ecrire tes resultats sous cette forme dans un fichier dont l'extension sera .csv avec les fonction fprintf ou fwrite
 
:D :D :D

Reply

Marsh Posté le 07-03-2005 à 07:57:54    

lechals a écrit :

comment on fait?


 
On utilise les composants COM de excel (COM étant une techno de krosoft permettant, entre autre, d'externaliser les programmes et de faire en sorte qu'on puisse manipuler excel depuis son programme C).
 

Citation :

est-ce possible de facon simple


 
A moins d'avoir une bibliothèque qui vous mâche le travail, non.
 

Citation :

cela ressemble t'il à la méthode utilisée dans les macro


 
Oui et non. Oui car les fonctions utilisées sont les mêmes mais non, parce que la manière de les utiliser est beaucoup plus compliquée.
 
Vous trouverez ici un exemple qui génère un doc excel (en C++ mais cela ne devrait pas être bien compliqué que de le faire aussi en C) : http://support.microsoft.com/defau [...] bContent=1
 
et ici, vous trouverez quelques explications sommaires : http://support.microsoft.com/default.aspx?kbid=196776

Reply

Marsh Posté le 07-03-2005 à 09:52:52    

Merci à vous deux,
 
réponse donnée par popi016 me convient pour l'instant, vé essayer de jeter un oeil au lien aussi (c pas mal les exemples quand on débute)
 
merci encore
++

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed