|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
bonjour, j'ai un formulaire que je voudrais exporté sous excel, mais j'ai un souci avec certains type de données.
En effet, j'ai des identifiants qui sont des suites de chiffres (ex: code organisme: 12540572008), et lors de l'export excel me les affiches en format scientifique 1.25*10^9). J'ai éssayé de convertir en string avec cstr() avant d'importer, mais rien n'y change, j'ai même éssayer de mettre des espaces au début et à la fin de mon code mais le problème perciste. Voici le code utilisé pour l'export excel: je rempli un tableau asp que j'exporte ensuite au format csv. (les valeurs en pourpre sont les codes en questions) Code :
__________________
Citation:
|
|||
|
|
00
|
|
|
#2 | |
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
J'ai vu qu'en ajoutant ' devant mon nombre ce dernier serait obligatoirement pris comme du texte sous excel mais ce caractère sera également visible dans ma cellule excel et mon identifiant au lieu d'être 125458121 (par exemple) dviendra '125458121.
__________________
Citation:
|
|
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : août 2005 Messages : 8 313 ![]() |
L'affichage en 1.25*10^9 est "normal" : c'est parce que l'affichage par défaut des nombres dans Excel utilise la notation scientifique pour les nombres qu'il ne peut pas afficher en entier dans la cellule : élargis la colonne et oh !! miracle, ton nombre apparaîtra (j'ai fait le test avec un simple fichier CSV contenant uniquement le nombre 12540572008). Par ailleurs, si tu cliques dans la cellule en question, tu verras que la valeur initiale est conservée dans la barre de formule. Le problème c'est que tu ne peux pas forcer la largeur des colonnes avec un fichier CSV.
En revanche, il y a un souci quand le nombre commence par un 0 : c'est pas un vrai nombre mais une chaîne de caractères. Sans rien faire de spécial, Excel supprimera le 0 frontal. Pour le conserver, une petite recherche avec mon ami le moteur de recherche bien connu me renvoie 2 solutions au moins :
Si vraiment y a un pb, peux-tu nous mettre un extrait CSV qui pose problème ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
merci pour ton aide, mais ce que je veux, c'est que mon fichier csv affiche mes nombres sous forme normal sans passer par le mode scientifique, en format texte ça serait l'idéal, et ce automatiquement dès l'ouverture du fichier.
Citation:
Ensuite, que mon fichier s'ouvre qu'en excel ou autre m'importe peu. Et, pour finir, si je trouve, comme je le souhaitais un moyen de faire apparaitre mes identifiants en format texte, le pb avec le zéro ne se pose plus. Pour le moment je les ai mi entre quote pour qu'il soit considérer comme du texte mais mes utilisateurs aimeraient que les quotes n'apparaissent pas. Merci encore.
__________________
Citation:
|
||
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() |
Salut,
Essaie d'ajouter " " derrière ta donnée. |
|
|
00
|
|
|
#6 | |
![]() ![]() Inscription : août 2005 Messages : 8 313 ![]() |
Citation:
![]() Pour forcer le format texte, c'est un peu pareil : le format CSV ne connaît pas les types, c'est juste une syntaxe pour rentrer des données tabulées. L'interprétation du type est faite par le logiciel qui lit le fichier CSV. Donc soit tu gardes le fait que c'est un fichier CSV qui s'ouvre "automatiquement" avec Excel et dans ce cas tu ne peux que conserver la façon standard qu'a Excel d'interpréter les fichiers CSV, soit tu utilises la gruge du "sauvegarde en .txt + menu Fichier > Ouvrir fichier .txt" pour ouvrir l'assistant d'import d'Excel et dans ce cas tu peux définir le type de chaque colonne importée. Le coup de mettre un ' devant et de le virer après c'est pareil, ça ne pourra jamais marcher : pour faire cela il faudrait exécuter une macro et c'est pas possible en standard dans un fichier CSV. Franchement, la seule solution que je vois c'est que tu génères un vrai fichier au vrai format Excel
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
|
00
|
|
|
#7 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 859 ![]() |
Salut,
Citation:
Toutefois, il semble qu'en appliquant un formatage de la cellule en "nombre", Excel n'applique plus la numérotation scientifique. Pour obtenir ce résultat, il faut effectivement un vrai fichier Excel pour typer la cellule. Qu'a donné le " " comme suggéré par TekP@f? A+ |
|
|
00
|
|
|
#8 | ||
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
Citation:
ex: 0123456789  merci de vos réponses
__________________
Citation:
|
||
|
|
00
|
|
|
#9 |
|
Membre expérimenté
![]() |
C'est que le " " n'est pas interprété.
Essaie avec son caractère unicode : Héhé ! En mettant l'unicode, le forum l'a interprété en mettant du blanc. Donc voici le caractère : &_#160; sauf qu'il faut enlever le _ |
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : août 2005 Messages : 8 313 ![]() |
Personnellement, je ne pense pas que mettre un caractère supplémentaire soit une bonne idée : si les utilisateurs qui récupèrent le tableau veulent effectuer des traitements ou des opérations sur les nombres qu'ils récupèrent, ils vont avoir des surprises du style une addition qui ne marche pas
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#11 | |||
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
il n'est pas interprété non plus.
A l'affichage j'ai un truc du genre 0123456789  je n'ai peut etre pas ajouté le caractère comme il faut: Code :
__________________
Citation:
|
|||
|
|
00
|
|
|
#12 | |
|
Membre expérimenté
![]() |
Il te manque le ";". C'est important.
Citation:
|
|
|
|
00
|
|
|
#13 | ||
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
Citation:
__________________
Citation:
|
||
|
|
00
|
|
|
#14 | |
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
même avec le point virgule ça n'y change rien, si une petite chose quand même: au lieu de m'afficher 11345678910 il m'affiche 11345678910
le ";" est remplacé par une virgule, mais c'est tout.
__________________
Citation:
|
|
|
|
00
|
|
|
#15 | |||
|
Membre expérimenté
![]() |
Citation:
Sinon, pourquoi ne passes-tu pas par un export xl "classique", c'est à dire une page HTML en modifiant le contentType. Code :
|
|||
|
|
00
|
|
|
#16 | |
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
je vais tester, je ne l'ai jammais fait auparavant.
Si je comprend bien j'ai juste à créer une page html en modifiant le contentType comme tu me l'a indiqué?
__________________
Citation:
|
|
|
|
00
|
|
|
#17 | ||
|
Membre expérimenté
![]() |
Exactement !
Par contre, le code HTML ne doit contenir que des balises supportées par Excel. Je ne connais pas la liste exacte. Mais en général, je ne fais que des tableaux. Un exemple de code : Code :
|
||
|
|
00
|
|
|
#18 | |
|
Membre du Club
![]() Inscription : février 2007 Messages : 172 ![]() |
J'ai testé, et efectivement cela fonctionne, merci TekP@f et les autres aussi.
__________________
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com