Affichage dans fichier Excel : convertir les nombres en "texte" - PHP - Programmation
Marsh Posté le 03-07-2004 à 11:43:40
En fait, tu insère des données dans excel en utilisant le cvs.
le ' en début de ligne pour "déclarer" une chaine de carctère n'est pas compatible cvs. Je ne vois pas de solution à ton souci (caractère non imprimable ... ?)
Marsh Posté le 03-07-2004 à 11:51:57
Quand on fait ça en excel directement (mettre ' ou " ) ça marche. Donc je me disais que peut-être ...
Là je propose l'affichage direct en excel (mais avec le quote qui reste, et c'est pas très "pro" ) ou alors je fais charger un fichier .txt avec | comme séparateur et les utilisateurs se débroullent eux-mêmes, mais c'est contraignant.
L'idéal c'était que le fichier excel s'ouvre directement et correctement ...
Si pas de soluce, tant pis ...
Merci
Marsh Posté le 03-07-2004 à 12:50:56
Le problème du quote, c'est que c'est une donnée gérée par le format xls natif. A moins que tu aies accès aux routines de codage de ce format, je ne vois pas comment faire
Je crois que le format cvs est le meilleur. Cela permattra aussi de le reprendre sur d'autres produits comme calc d'openoffice par exemple
Autre solution, je penses qu'excel gère bien XML, regarde si cela peux te servir
Marsh Posté le 07-07-2004 à 01:42:49
regarde ce tuto, il y a peut -être une solution :
http://www.phpfreaks.com/tutorials/114/0.php
Marsh Posté le 07-07-2004 à 08:16:37
http://www.bettina-attack.de/jonny [...] riteexcel/
Pour la création de fichier excel binaire.
Ces classes marchent vraiment très bien.
Marsh Posté le 03-07-2004 à 11:21:43
Bonjour,
J'ai un petit souci lorsque je passe le résultat d'un query dans un fichier excel (plutôt que dans un tableau html) :
Les données (char dans la DB) comme 000.2000.000 s'affichent dans Excel sous cette forme 0.00.000.200, etc ...
Alors je force l'affichage en faisant ceci :
echo "'" . $ref . "\t";
Le nombre apparait bien en mode texte, mais le quote reste affiché, et c'est ça que j'aimerais éviter. Est-ce possible de force l'affichage en mode texte sans avoir ce quote dans le fichier excel ?
(je passe par les fontions header pour le fichier .xls, et par des ocidefinebyname pour l'affichage)