#1 Tue 18 December 2007 23:50
- Arthy
- Participant actif
- Date d'inscription: 27 Mar 2007
- Messages: 61
passage d'IDL à Excel
Bonjour,
Je voudrai savoir s'il est possible d'écrire les valeurs d'un tableau obtenu après l'exécution d'un programme IDL dans un fichier Excel
Si oui, quelle est la procédure à suivre?
Merci
Hors ligne
#2 Thu 20 December 2007 10:45
- Emilie_ENVI
- Participant actif
- Date d'inscription: 6 Jun 2006
- Messages: 83
Re: passage d'IDL à Excel
Bonjour,
Oui c’est possible. Je te laisse lire les deux possibilités ci-dessous.
- si il s'agit d'écrire simplement des résultats de sorties IDL dans un nouveau fichier qui peut être lu ensuite par Excel, le plus simple est vraiment d'écrire les données dans un fichier ASCII en respectant l'organisation des fichiers CSV (éléments d'un tableau, organises en colonnes/lignes et séparés par des ; (point-virgule))
- si il s'agit de compléter avec de nouvelles données un fichier Excel existant, ou de créer depuis IDL un nouveau fichier Excel en utilisant toutes les possibilités d'organisation Excel (différents spreadsheets, ... ), il faut alors établir une vraie communication entre IDL et Excel.
Pour y parvenir, tu peux utiliser les technologies ActiveX. IDL et Excel supportent en effet ces technologies. Ce qui te permettra de faire des échanges dans les deux sens (IDL <--> Excel).
Un exemple de ces possibilités est disponible sur le CodeBank d'IDL :
http://www.ittvis.com/codebank/search.asp?FID=445
A bientôt !
Emilie
Hors ligne
#3 Fri 21 December 2007 18:43
- Arthy
- Participant actif
- Date d'inscription: 27 Mar 2007
- Messages: 61
Re: passage d'IDL à Excel
Bonjour
Emilie, merci pour ton message
J'ai téléchargé le code mais je ne regarderai cela qu' à mon retour de congé
Si je suis bloqué, je te solliciterai de nouveau
Bonnes fêtes de fin d'année à tous
Armel
Hors ligne
#4 Tue 15 January 2008 13:47
- Arthy
- Participant actif
- Date d'inscription: 27 Mar 2007
- Messages: 61
Re: passage d'IDL à Excel
Bonjour,
Je suis de nouveau de retour après plusieurs jours de vacance. je n'arrive toujours pas à écrireles valeurs d'un tableau IDL dans un fichier excel.
Si je m'en tiens au lien que tu m'as donné, je dois tout simplement écrire le nom de mon fichier (nomfichier.xls que j'aurai préalablement crée) à la 1ere ligne du programme IDL_Write_Excel_Col. Mais là, même l'exemple qui a été mentionné n'est pas réalisé.
merci
Hors ligne
#5 Thu 17 January 2008 16:43
- Emilie_ENVI
- Participant actif
- Date d'inscription: 6 Jun 2006
- Messages: 83
Re: passage d'IDL à Excel
Bonjour,
IDL est vraiment un langage tres simple, mais il y a quand meme quelques petits principes a connaitre (maniere de lancer un programme, arguments d'entree, ... )
1/ Dans le programme IDL_Write_Excel_Col que tu as telecharge, il n'y a rien d'autre a faire que de le compiler et le lancer sous IDL. Tu auras a la fin de l'exection un fichier Excel qui sera cree, dans le repertoire C:, avec le nom par defaut " TestOut.xls "
Si ce nom de fichier ne te plait pas, tu peux lancer le programme en ligne de commande IDL ( prompt IDL ), en faisant :
IDL> idl_write_excel_col, FILENAME="toto.xls"
Le fichier de sortie aura a lors le nom "toto"
2/ Ce code cree lui-meme les donnees qui sont ecrites dans le ficher Excel de sortie. Il ecrit dans les 6 premieres colonnes de la premiere ligne les chaines "IDL", "Data", "Processing", "Is", "Fun"
En lisant un peu le code IDL, on doit arriver a comprendre comment tout cela fonctionne, meme si je reconnais que le manipulation d'un objet Excel n'est pas hyper intuitive, mais la, c'est Excel qui dicte sa regle.
Dans le ficher attache, j'ai modifie un peu ce programme pour te montrer comment ecrire un tableau de 3 colonnes dans un fichier Excel. La chose a voir est qu'il faut identifier chacune des celllules de ton fichier Excel avant de pouvoir ecrire une valeur dedans. Les donnees cette fois ne sont pas produites par le code, a toi de les creer avant et de les transmettre a ce code.
Voila un exemple :
1/ Creation d'un tableau DATA de 3 colonnes et 50 lignes, comprenant des donnees aleatoires :
IDL> data=RANDOMN(seed, 3 50)
2/ Ecrire de ce tableau dans un fichier Excel place par defaut dans un fichier de sortie "EcritureTableau.xls"
IDL> idl_write_excel, data
3/ Si tu veux voir "en temps reel" l'ecriture des donnees dans le fichier Excel, prends le code IDL, va a la ligne contenant :
oExcel->SetProperty, visible=0
et remplace cela par :
oExcel->SetProperty, visible=1
N'oublie pas de sauver le fichier et de le recompiler sous IDL avant de rejouer les etapes 1/ et 2/
A toi de jouer pour etendre cela a autant de colonnes que tu veux.
Emilie
Hors ligne