Exporter des données de scilab à excel

Sandrine Ellero -  
 daba -
Bonjour!

Je n'arrive pas à exporter convenablement une matrice de scilab à excel.

J'ai une matrice 12*90 sous scilab et l'exportation sous excel par la commande
write('monfichier.xls',Matriceàexporter,'(90(f10.2))')
me donne une matrice dans laquelle les 90 premières valeurs de la 1ere ligne de ma matrice sont toutes stockées dans la 1ère cellule de excel.

J'aimerais avoir une valeur par cellule en fait. Quelqu'un connait-il le format fortran convenable ou une autre solution?

Merci d'avance,
Sandrine
A voir également:

8 réponses

bennn
 
fscanfmat et fprintfmat permettent d'exporter des matrices direct en fichier texte organisé.
1
Clotaire
 
Tout simplement : xls_open et xls_read ----> tout expliqué dans la doc de scilab
0
Armojax
 
Bonjour Sandrine,

Je ne connais pas du tout Scilab. Je suppose que ce logiciel te fournit un fichier qui, même si tu l'appelles "monfichier.xls", a de fortes chances d'être au format texte.

Essaie ça :

Avant de le donner à bouffer à Excel, renomme-le et change son extension en ".txt".
Ensuite, prends-le avec le Bloc-Notes ou Wordpad. Normalement, tu devrais avoir le texte en clair, et voir si les 90 valeurs d'une ligne sont bien séparées par une marque, et quel est le séparateur (virgule, point-virgule, tabulation, ...).

Ensuite, ouvre Excel. Dans Excel, fais "Ouvrir" et nomme ton fichier texte.
Excel te posera les questions pour la mise en forme de tes données.

Il se peut :
- que le problème ne soit pas ça et que j'aie tout faux,
- que si tes champs sont des nombres décimaux, tu aies à modifier tes paramètres pour le choix du séparateur décimal (point ou virgule).

Bonne chance, et si ce n'est pas ça, reviens.

Armojax.
0
yassine
 
bonjour tous le monde,

voila , je debute avec scilab et je ne connais pas la commande qui me permet d'importer un fichier excel sur scilab pour afficher les pionts de nuage


merci d'avance

yassine.
0
souhir
 
Bonsoir ,
je confonte également le même problème, je me demande si t'as réussi à trouver une solution , je serai reconnaissante
Merci
Souhir
0
allergen
 
Bonjour,

Avez vous resolu ce probleme?
0
zorba
 
Voici peut-être la solution : https://digilander.libero.it/_ppricerca/index.html

Si vous testez cette solution, ça serait sympa de poster vos résultats dans ce forum. Merci ! ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Valeck
 
Bonjour a tous,

Je bosse aussi sur scilab en ce moment et j'ai besoin d'exporter mes données sur excel.Voici les commandes que j'ai tapé:

entree='emplacement de ton fichier'; --> exemple 'D:\Documents and Settings\...etc'
sortie='emplacement de ton fichier';
debit='emplacement de ton fichier';

fprintfMat('entree.xls',B1); --> ecrit ma matrice B1 dans le fichier entree
fprintfMat('sortie.xls',B2); --> ecrit ma matrice B2 dans le fichier sortie
fprintfMat('debit.xls',B3); --> ecrit ma matrice B3 dans le fichier débit

La je n'ai aucun probleme car mes matrices n'ont qu'une ligne et plusieurs colonnes (dépend de mes données).Et ca marche bien.
J'ai essayé de résoudre ton probleme Sandrine en tentant d'exporter une matrice 30x30 par exemple.Et la oui y'a un soucis mais pas pour toutes les données.La premiere colonne ne contient qu'une valeur par cellule.La seconde regroupe malheureusement 4 colonnes.Ensuite,ca repasse à une valeur par cellule.
Je comprend pas trop,je me suis cassé le cerveau dessus tout a l'heure mais la je peux plus.Je retenterais demain ^^



Par contre,j'ai un autre soucis que vous pourrez peut-être résoudre.Lors de l'exportation des données sur le débit,je me retrouve qu'avec des 0 sous excel car il exporte seulement 6 chiffres après la virgule.Or mes débit sont en 10^(-10).
Avez vous une solution pour augmenter le nombre de chiffres significatifs exporter sur excel ??

Merci d'avance,je reposterais si je trouve une solution a ton problème

Valeck
0
philippe
 
Bonjour,

Le mieux est de convertir vos données en matrices de chaînes de caractères (fonction string en scilab), matrice qui peut avoir plusieurs colonnes. Un exemple basique :

M=rand(100,2);//une matrice de réels
texte=['x', 'y'; string(M)];//une matrice de chaines de caractères
excel=[];//le contenu du fichier excel
n=size(texte,1);//nombre de lignes de texte
for i=1:n
excel=[excel; strcat(texte(i,:), ';')];//écriture au format csv avec ';' comme séparateur
end
mputl(excel,'essai.xls');//écriture dans le fichier essai.xls

c'est dans la boucle for que je concatène les élément de chaque ligne de ma matrice de chaînes de caractères. La fonction strcat(matrice,séparateur) fait la concaténation des éléments de "matrice" en intercalant "séparateur" entre eux, ça permet de transformer facilement vos matrices en format cvs (coma separated values) tout à fait lisible par excel (ou calc d'ailleurs).

Philippe.
0
philippe
 
j'oubliais pour changer le format d'affichage des nombres réels tu peux utiliser la fonction format. Par exemple format('v',20) forcera l'affichage des réels avec 18 chiffres (bon normalement le zéro machine est de l'ordre de 10^(-16) donc c'est un peu beaucoup).

Philippe.
0
daba
 
bonjour j'ai ce même soucis au faite je dois importer des données dans puis exporter une matrice pour pouvoir l'exploiter convenablement ....est ce que quelqu'un aurait la solution a mon problème?
0