cirilo Posté 5 Août 2005 Posté 5 Août 2005 Salut à tous. Je fais un export de données vers un fichier xls. Je crée dans un premier temps mon export dans un fichier php, ou je place mes données dans des tableaux html. Je rajoute dans les headers ce script pour generer le fichier xls : header("Content-Type: application/vnd.ms-excel");header("Expires: 0");header("Cache-Control: must-revalidate, post-check=0, pre-check=0");header("content-disposition: attachment;filename=dataExport.xls"); Jusque la, pas de probleme. Le fichier (dataExport.xls) est genere comme je le souhaite. Le problème se situe au niveau de certains caracteres: apostrophe, signe euro (parmis les plus génants) qui apparaissent dans le fichier excel sous la forme de petit carré... Quelqu'un a déjà eu le meme type de probleme ? Faut-il faire un traitement des données avant ?
dièse Posté 6 Août 2005 Posté 6 Août 2005 Salut à toi, Bizarre pour les apostrophes Sinon oui il faut faire un traitement des données à priori. Avec str_replace() par exemple.
cirilo Posté 6 Août 2005 Auteur Posté 6 Août 2005 Merci pour ta réponse Diese. Lorsque je fais l'export en html simple, les signes ou encore les apostrophes apparaissent correctement dans le fichier php genere. Tu me conseillerais de les remplacer par quoi ? Remplacer le par son code html € par exemple ? Merci
cirilo Posté 6 Août 2005 Auteur Posté 6 Août 2005 (modifié) Pour le code HTML de l'euro : & # 8 3 6 4; Le forum a directement genere le signe ;-) Modifié 6 Août 2005 par cirilo
Dudu Posté 6 Août 2005 Posté 6 Août 2005 Ce n'est pas tout simplement un problème d'encodage ? Si je ne m'abuse, Excel bénéficie de l'encodage propriétaire windows-1252 tandis qu'un fichier web est généralement encodé en utf-8 ou iso-8859-1, qui sont des encodages répondant à des normes standardisées. Le hic, c'est que je ne sais pas si en encodant directement ta page web en windows-1252, les internautes qui n'ont pas Windows (j'en fais partie) pourront lire la page Çà peut valoir le coup d'essayer: je suis partant pour un béta-test
cirilo Posté 6 Août 2005 Auteur Posté 6 Août 2005 Alors la Dudu, chapeau bas ! <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> Et hop, je vois mes signes apparaitre correctement dans mon XLS. J'essaie de voir comment te faire tester cela si tu n'es pas sous windows. Vue que c'est une application en ligne et non un site web ouvert au public, je me suis mis d'accord avec mes clients pour que tout soit compatible windows avec IE (ok, détachez moi de ma potence et arretez de me tirer des oeufs pourris...) Merci à tous pour votre aide :-) Cirilo
Dudu Posté 6 Août 2005 Posté 6 Août 2005 Tant mieux pour toi si çà marche Concernant les tests: en fait j'ai fait chauffer Google et j'ai trouvé une belle page codée sous Word et bonne nouvelle tout passe très bien sur Safari Quant à te lancer des ufs pourris, j'ai beau être un amateur de standards ouverts et plus ou moins un *anti* Microsoft.. s'il faut développer un intranet ou une application fermée destinée à un public exclusivement Windows/IE je ne vois pas le problème d'utiliser quelques solutions propriétaires puisque le concept d'interopérabilité-compatibilité n'a plus de raisons d'être (là c'est moi qui vais me prendre les ufs à ta place maintenant ) Seul hic éventuel: un nouveau DSI fanatique de Linux qui remplace tout le parc
Xavier Posté 6 Août 2005 Posté 6 Août 2005 Le hic, c'est que je ne sais pas si en encodant directement ta page web en windows-1252, les internautes qui n'ont pas Windows (j'en fais partie) pourront lire la page Çà peut valoir le coup d'essayer: je suis partant pour un béta-test <{POST_SNAPBACK}> Vu le nombre de fichiers/pages web encodés en windows-1252... je crois que ça se saurait (il doit bien y avoir la moitié des sites qui utilisent cet encodage... même si beaucoup le déclarent comme du iso-8859-1 !) PS : Sur PC on peut très bien lire les encodages du type MacRoman et cie
Dudu Posté 6 Août 2005 Posté 6 Août 2005 Vu le nombre de fichiers/pages web encodés en windows-1252... je crois que ça se saurait (il doit bien y avoir la moitié des sites qui utilisent cet encodage... même si beaucoup le déclarent comme du iso-8859-1 !) PS : Sur PC on peut très bien lire les encodages du type MacRoman et cie Salut Xavier, Oui mais tu connais mes réticences face à tout ce qui est fermé (j'allais dire "proprio" mais il y a une nuance) Et j'ai rajouté ensuite que tout passait très bien. Ce qui m'a fait douter avant de tester, c'est * que certaines pages HTML produites par Excel sont absolument illisibles. Celle-ci, par exemple est complètement explosée sous Firefox Mac (et PC aussi p-ê). Étrangement Safari qui est d'ordinaire très susceptible l'affiche très bien (et tant mieux, ce site est une vraie mine mais ce n'est pas le sujet) * qu'en regardant mes préférences d'encodage j'ai trouvé tout et n'importe quoi.. mais aucun windows-1252 => Donc dans un 1er temps je préférais être prudent à l'idée de conseiller cet encodage pour le web. Mais de toutes façons, le public visé est 100% IE/Win et même sur Mac çà passe j'ai pu l'observer: que demande le peuple
Xavier Posté 7 Août 2005 Posté 7 Août 2005 Salut Xavier, Oui mais tu connais mes réticences face à tout ce qui est fermé (j'allais dire "proprio" mais il y a une nuance) Dit par un utilisateur de Mac Cela dit, je ne suis pas sûr que cet encodage soit vraiment "fermé", il est surement défini en détail quelque part (p.ex Wikipedia possède un article dessus...) Ce qui m'a fait douter avant de tester, c'est* que certaines pages HTML produites par Excel sont absolument illisibles. Celle-ci, par exemple est complètement explosée sous Firefox Mac (et PC aussi p-ê). Pour rester hors sujet ( ), pas étonnant, le script continue après sa balise fermante... } fnGetIEVer(); fnBuildFrameset();//--></script>function fnInit(){ if en regardant mes préférences d'encodage j'ai trouvé tout et n'importe quoi.. mais aucun windows-1252=> Donc dans un 1er temps je préférais être prudent à l'idée de conseiller cet encodage pour le web. Il est possible que Safari traite l'iso comme le windows-1252... parce que le windows-1252 est souvent fait passer pour de l'iso Vive l'unicode !
FruitDeFendu Posté 7 Août 2005 Posté 7 Août 2005 moi j'ai un problème avec les . et les , le fichier généré est avec des . dans les chiffres donc 10.25, 10.50 le problème cest que quand l'ont fait des additions, soustraction etc ...sous excel les calcules ne sont pas juste car il faut des , et pas des . :/ je doit utiliser str_replace() ?
cirilo Posté 7 Août 2005 Auteur Posté 7 Août 2005 Salut fruitdefendu, Oui je pense que tu devrais utiliser str_replace(), mais que sur tes champs numériques, sinon tu risques à t'amuser... Bon courage, Cirilo
FruitDeFendu Posté 7 Août 2005 Posté 7 Août 2005 Salut fruitdefendu, Oui je pense que tu devrais utiliser str_replace(), mais que sur tes champs numériques, sinon tu risques à t'amuser... Bon courage, Cirilo <{POST_SNAPBACK}> je vient de faire avec str_replace et sa fonctionne merci
cirilo Posté 12 Août 2005 Auteur Posté 12 Août 2005 En utilisant cette technique pour generer un fichier excel, est il possible de bloquer l'edition d'un champs dans excel, ou encore mieux, mettre des menus deroulants ? Bref j'ai pas trouve beaucoup de docs sur le net. Si vous avez des liens interessants sur ce sujet, je suis preneur Merci d'avance !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant