Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Bureautique
Bureautique Forum d'entraide sur la gestion dynamique de documents de bureautique (Word, Excel, OpenOffice...) avec PHP. Avant de poster -> Cours Excel, FAQ OpenXML, FAQ OpenDocument
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 17/07/2006, 12h57   #1
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
Par défaut Enregistrer un fichier Excel côté client

bonjour

j'ai lu des tuto sur COM mais j'ai pa vraiment compris ou ça voulai en venir

donc je demande ici
j'ai une page qui genere un tableau avec les réponses d'une requete sql et j'aimerai que mes utilisateur puissent enregistrer la page sous un format exel par un bouton et avec le choix de l'endroit ou il peuvent l'enregisetrer sur LEUR machine et pas dans le serveur
pour l'enregistrement je pense qu'il suffit d'enregistrer la page avec le code HTML sous un format .xls mais comment on enregistre là je sais pas faire
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 14h37   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Il faut que tu génères le fichier XLS sur le serveur et que tu proposes un lien à l'utilisateur vers ce fichier pour qu'il le télécharge.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 14h41   #3
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
ouai en fait si je fais un nom unique le fichier sera ecraser a chaque fois donc si je récapitule bien je doit creer une page qui enregistre le code html de la précédente dans un fichier xls en efaçant les donné faite au précédent enregistrement puis lance le téléchargement de celui ci
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 14h56   #4
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Une petite alternative.
- Tu génères ton tableau en HTML brute et proprement. Les données proviendrons surement d'une base de données. Pas grave tu génères le tableau html
- Dans le fichier qui va afficher le tableau tu places en haut la fonction permettant d'écrire un header. La fonction c'est "header".
- Tu indiques que c'est pour un téléchargement. Tu donne un nom de fichier. T'ndique le type mime d'excel
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 15h00   #5
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
heu j'ai pas tout suivie

mon tableau en html je l'affiche quoi qu'il arive je laisse le choix a l'utilisateur d'enregistrer au format excel ou non sous fore de boutons
mais ton header j'ai pas compris a quoi il sert
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 15h13   #6
Membre régulier
 
Inscription : mai 2004
Messages : 121
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 121
Points : 79
Points : 79
le header permet de spécifier au navigateur ce que tu veux effectuer avec ton script. Un header normal envoie le flux directement dans la fenetre du navigateur. Un header dont tu lui définis qu'il s'agit d'un téléchargement ou je ne sais quoi, apparaitra chez le client comme un téléchargement ou je ne sais quoi.

La, tu as ton script qui envoie les données sur une page web, mais si tu lui ajoutes header pour le téléchargement alors le client devra definir le chemin il enregistrera ce fichier xls
hackrobat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 15h16   #7
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
merci de l'explication c'est le principe de téléchargement auto comme sur 01.net

mais le truc c'es que je veut donner le choix est ce qu'il y a un moyen d'activer le téléchargement par un bouton?
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 15h25   #8
Membre régulier
 
Inscription : mai 2004
Messages : 121
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 121
Points : 79
Points : 79
Tu peux appeler ton meme script simplement en définissant ton header en fonction du choix de l'user.

S'il veut voir la page -> header normal
S'il veux télécharger -> header download

Pour moi, il y a juste le header qui change
hackrobat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 15h26   #9
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Oui. Le bouton fait simplement un truc en javascript qui est. window.open('telechargement.php?ixxx=yyy','telechargement','');
et c'est dans le fichier telechargement.php que tu fais ta soupe. En faite le header et juste pour parler avec le navigateur. Tu peux lui faire croire ce que tu veux.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2006, 15h33   #10
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
ok merci je vais faire des recherche sur la façon de remplir le header de ma page et le script a ajouter pour le téléchargement
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 08h56   #11
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
je comprend pas vraiment je trouve plein de chose mais rien ne semble correcpondre a ce que je veut ou alor je comprend vraiment pas
donc je voudrai enregistrer le code tel qu'il saffiche a l'écran dans un fichier excel
mais je n'ai pas encore compris l'histoire du code javascript
et je n'arrive apas a comprendre quel header je doit utiliser

edit j'ai relu et j'ai compri ou était le truc du header téléchargement et normal mais ce que je voudrai c'est que le téléchargement se fasse sans afficher de nouvelle page
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 09h49   #12
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Voici le code pour forcer le télechargement.
Code :
1
2
3
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=nom_fichier.extension");
Voici le header qui va faire croire à ton navigateur que c'est excel
Code :
header('Content-type:application/vnd.ms-excel');
de ta page principale tu veux faire en sorte qu'il puisse y avoir une bouton ou lien pour un téléchargement ? bon. Le code au dessus doit être dans un fichier spécialement pour le telechargement pour faire simple. c'est dans ce fichier que tu vas générer un tableau HTML basique avec les codes du header. Pour appeler ce fichier il faut faire ceci. <input type="button" name="telecharger" value="Telecharger" onClick="window.open('telecharger.php','toto','width:1,height:1')">

Que que qu'en j'y pense le deuxieme header ne sert à rien vu que tu veux le faire telecharger le fichier et non le visualiser depuis le navigateur.
Donc je laisse les deux header. Soit tu force le télechargement soit tu l'affiches sur le navigateur. Dans les deux cas il peuvent l'enregistrer sur leur machine.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 09h58   #13
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
dans tes explication tu parle de fichier le fichier en question étant le code html qu'a ecris la page php pour afficher le tableau je doit metre quel fichier a télécharger sachant que ce code est ephemere

nom_fichier.extension c'est le nom qu'il y aura chez le clien ou le nom du fichier a télécharger
dans le deuxieme cas il n'y a pas de fichier puisque il n'a jamais été enregistré mais il est juste là aprè l'affichage de mon résultat
en bref je devrai écrire une nouvelle page qui ferai son propre enregistrement sous format xls pour bien faire
scorpking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 11h04   #14
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
nom_fichier.extension c'est là que tu indiques le nom du fichier qui va être en sortie. Ton fichier peux s'appeler telechargement.php mais la personne va telecharger "toto.xls" parce que tu auras indiqué que le nom en sortie s'appelera ainsi.

Pour faire simple je vais te donner un exemple :
Tu créés un fichier Telechargement.php et tu places ceci dedans.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=monfichier.xls");
echo '<table>'.chr(13);
echo '    <tr>'.chr(13);
echo '        <td>Cellule 1:1</td>'.chr(13);
echo '        <td>Cellule 1:2</td>'.chr(13);
echo '    </tr>'.chr(13);
echo '    <tr>'.chr(13);
echo '        <td>Cellule 2:1</td>'.chr(13);
echo '        <td>Cellule 2:2</td>'.chr(13);
echo '    </tr>'.chr(13);
echo '</table>'.chr(13);
?>
Tu créés un fichier html et tu places ceci :
Code :
<input type="button" name="telecharger" value="Telecharger" onClick="window.open('telecharger.php','toto','width:1,height:1')">
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 11h10   #15
Membre habitué
 
Avatar de scorpking
 
Inscription : avril 2006
Messages : 207
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : avril 2006
Messages : 207
Points : 113
Points : 113
ok merci pour ton aide je vais tester ça
et désolé pour le temps de compréhention
scorpking 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 04h46.


 
 
 
 
Partenaires

Hébergement Web