Page 1 sur 1

export SQL vers Excel en PHP : je perds les zéros

Posté : 24 mai 2010, 18:53
par lesideesnet
Bonjour,

Voici un truc que je n'arrive pas à résoudre : j'ai tout un tableau HTML stocké dans UN champ texte d'une base SQL.
Je veux l'exporter sous Excel, donc j'ai un truc du type :
	
$sql = "SELECT leTableau FROM tableSQL";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
$tableau = $data[leTableau];

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-disposition: filename=toto.xls");

$affiche=addslashes($tableau);
			
echo "$affiche\r\n";
Jusque là, tout fonctionne.

Sauf que j'ai, dans le tableau HTML stocké en SQL, des champs qui commencent par un zéro (des références). Et lors de l'export, Excel interprète ces références comme des entiers, et du coup me vire les zéros qui commencent la référence... et ma référence exportée devient donc fausse.

Avez-vous une idée pour garder les zéros qui commencent ces références dans le fichier Excel ?

Merci !

Philippe

Re: export SQL vers Excel en PHP : je perds les zéros

Posté : 24 mai 2010, 19:45
par @rthur
Bonjour,

Sous Excel, l'astuce consiste à mettre au début de la valeur un apostrophe.
Exemples :
0123456789 va devenir 123456789
'0123456789 va devenir 0123456789

Re: export SQL vers Excel en PHP : je perds les zéros

Posté : 24 mai 2010, 19:53
par lesideesnet
ok merci, j'essaye ça... il faut donc que je repère les zéros qui commencent une cellule de mon tableau pour y injecter une apostrophe (le tableau entier est stocké dans un champ de la table SQL)

Re: export SQL vers Excel en PHP : je perds les zéros

Posté : 25 mai 2010, 11:20
par lesideesnet
Euh... Merci @rthur, mais du coup je me retrouve avec des :
'01234
comme référence dans mon fichier Excel (l'apostrophe apparait).
Y a-t-il un moyen de supprimer cet apostrophe, ou une autre technique ?

Merci d'avance.

Philippe