Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR
PEAR Forum d'entraide sur le framework PHP : PEAR. Avant de poster -> cours PEAR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/10/2006, 12h29   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
Par défaut [Spreadsheet] Contenu du fichier Excel exporté

Bonjour tout le monde,

J'ai essayé de générer un fichier excel avc du code php. le fichier se génère bien, sauf que le contenu n'est pas bon. le ficher excel reprend tout le contenu de ma page ( code html ) en plus des données que je lui passe.

comment je peux éviter que tout le contenu de ma page soit exporté ?

merci et bon courage à tous.
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 13h02   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Pas trop compris... ou alors je crois deviner. Un ch'tit bout de ton code à faire partager ?
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 13h45   #3
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
en effet, j'ai pas accès au code maintenant parceque je travaille sur un serveur dont je n'ai pas accès pour le moment.

je réexplique le problème :

quelque part dans ma page PHP, j'appelle une fonction qui permet de créer un fichier excel et de le remplir ( ex: résultat d'une requette ).

le problème c'est que quand j'ouvre le fichier généré, je trouve qu'il a comme contenu les données que je lui passe ainsi que tout le contenu de ma page (menu gauche , haut da la page, le footer de la page ... )

Je ne pense pas que ce soit à cause du code par ce que j'avais testé avec un exemple tout bête mais ça n'a pas marché non plus. en effet,j'ai l'impression à la création du fichier excel, lui est passé non seulement les données que je lui passe, mais aussi tout code affiché dans ma page.

NB. j'utilise la classe de pear : Spreadsheet_Excel_Writer

j'espère avoir été plus claire.

merci bcp Mr N. bon courage
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 14h16   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Pas de code, pas d'aide
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 14h19   #5
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Citation:
Envoyé par loukili81
Je ne pense pas que ce soit à cause du code par ce que j'avais testé avec un exemple tout bête mais ça n'a pas marché non plus.
Si ça vient pas du code cela doit venir des petit lutins cachés dans php... .. .

trève de plaisanterie sans code je vois pas comment on pourrait t'aider... j'ais commandé une voyante pour noel mais je l'ais pas encore reçu... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 14h32   #6
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
d'accord excusez-moi je pensais que c'était claire. dès que j'ai accès au code , je le poste.

mais c'était quelque chose de standard comme on peut trouver dans la documentation : http://www.keliglia.com/categorie/pear/
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 15h50   #7
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
voici mon code :

Citation:
$workbook = new Spreadsheet_Excel_Writer();
$worksheet =& $workbook->addWorksheet('My first worksheet');


$worksheet->write(0, 0, 'Nom');
$worksheet->write(0, 1, 'Age');
$worksheet->write(1, 0, 'John Smith');
$worksheet->write(1, 1, 30);
$worksheet->write(2, 0, 'Johann Schmidt');
$worksheet->write(2, 1, 31);
$worksheet->write(3, 0, 'Juan Herrera');
$worksheet->write(3, 1, 32);

// Nous devons toujours explicitement fermer le manuel de travail
$workbook->send('test.xls');
$workbook->close();
et merci à vous tous.
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 15h53   #8
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
On a besoin de plus. Quel est le code qui entoure cet bout de code ?
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 16h21   #9
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
dans ma page html j'ai le lien :
Citation:
<a href="javascript:ActivateMenu('export_stat_to_excel')">télécharger</a>
sur clique sur le lien, le case exécuté est le :

Citation:
switch $valeur
{
...
case 'export_stat_to_excel' :
export_stat_to_excel();
break;
...
}
export_stat_to_excel est l'appel à la fonction ma fonction dont le code est posté dans le message précédent :

Citation:
function export_stat_to_excel2()
{
le bout de code ici
}
en plus de la fonction exécutée, il y a du code html dans ma page. ce code apparait dans mon fichier excel.

j'espère que ceci est plus clair maintenant est merci bcp pr ton aide Mr N. ainsi que kankrelune.
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 16h34   #10
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Bon il en manque toujours pour pouvoir confirmer mes soupçons.

Néanmoins il faut "simplement" que le contenu envoyer ne comporte pas de code html relatifs à ta page. Juste le contenu du fichier excel.
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 16h51   #11
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
ben oui , c'est ce que je cherche. c'est pourquoi j'avais dit que j'ai l'impression que ça ne soit pas à cause du code mais peut être aurait- il une astuce ou s'agirait-il d'un bug de la bibliothèque je ne sais rien ...

sinon à part le cde html qui constitue le hearder de la page et le menu gauche je vous ai bien publié le reste.

après tout, merci Mr N.
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 16h52   #12
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
@ Mr N => La classe Spreadsheet_Excel_Writer utiliserait pas la bufférisation de sortie... ça parait bizar mais bon... qu'est ce que t'en pense... .. ?

@ loukili81... est ce que tu déclenche la bufférisation de sortie au début de ton script (ob_start())... .. ?

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 17h08   #13
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Je ne pense pas que ce soit lié à une histoire de buffer.
En fait c'est comme une image.
Code :
1
2
3
4
5
6
<html>
  <body>
    <h1>Une photo de moi :</h1>
    <img src="mon_image.gif" />
  </body>
</html>
De manière générale le src pointe vars une image ou vers un code qui génère une image.
Ainsi mon_image.gif contiendra que les données nécessaires pour afficher une image, pas pour afficher une page web.

Pour un fichier excel c'est pareil.
Code :
1
2
3
4
5
6
<html>
  <body>
    <h1>Mon super fichier xls</h1>
    <a href="mon_fichier.xls">Telecharger mon fichier</a>
  </body>
</html>
Le contenu de mon_fichier.xls doit être exempt d'html.

Maintenant il suffit de remplacer .gif et .xls par .php et les principes restent les même. Si le contenu est généré il doit rester du gif ou du xls mais en aucun cas un mix de gif/html ou xls/html
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 17h18   #14
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
J'ais les fichiers sous les yeux et effectivement il n'y a pas de bufferisation ce qui, soit dit en passant, aurait été bizar... .. .

En fait le code de loukili81 à pour but de proposer le téléchargement/ouverture du fichier vu qu'il définit les headers "content-type" voila pour quoi ça bloque... .. .

@ loukili81... met ton code dans un fichier à part exempt de tout code html et ça devrait marcher... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 17h23   #15
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
ok je vais tester ceci , merci pour votre soutien.

c'est très gentil de votre part
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 17h38   #16
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par kankrelune
J'ais les fichiers sous les yeux
Y a des privilégiés
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2006, 17h40   #17
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Citation:
Envoyé par Mr N.
Y a des privilégiés


@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 11h46   #18
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 142
Points : 37
Points : 37
bonjour,

merci bcp, c'était tout à fait ça. il falait mettre le code qui génère le fichier excel dans un fichier à part. là ça marche très bien

Merci a toi kankrelune et à toi Mr N. Bon courage à vous deux.
loukili81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h28.


 
 
 
 
Partenaires

Hébergement Web