[php, HTML] ouvrir un document excel

Fermé
magic charly Messages postés 122 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 14 septembre 2006 - 8 août 2005 à 16:20
 Akkyshan - 10 oct. 2012 à 16:00
je souhaiterais que lorsqu'on clique sur un lien hypertexte le fichier s'ouvre ds microsoft excel. Comment faire ? merci d'avance
A voir également:

8 réponses

shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 14
9 août 2005 à 13:34
tu fais un fichier downXL.php contenant ceci :
<?


if(isset($_GET["dwn"])) {

// Entête pour Ouvrir avec MSExcel
header("content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=".$_GET ["dwn"]);

flush(); // Envoie le buffer
readfile($_GET["dwn"]); // Envoie le fichier

}?>


dans ta page, tu mets comme lien vers ton fichier excel

<A href="./downXL.php ?dwn=tonFicher.xls">Ficher Excel</A>
8
J'ai testé ce code, il fonctionne, on oubliera pas de mettre le chemin en absolu, et non pas en relatif. Donc j'ai rajouté:

<A href="./ouvrirXLS.php?dwn=http://adressedemonsite/sousdossir/.../monFichier.xls">Ficher Excel</A>
2
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 14
9 août 2005 à 09:38
il suffit de manipuler les entêtes HTTP.
tu trouvera un exemple ici:

http://www.asp-php.net/scripts/asp-php/download.php
1
frekky1 Messages postés 26 Date d'inscription mardi 31 janvier 2006 Statut Membre Dernière intervention 21 avril 2010 4
8 juil. 2009 à 00:45
hello. j'ai testé le code, mais ça ne marche pas chez moi, si je clique sur le lien, ca m'inscrit la page .php?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 août 2005 à 18:52
Ca dépend du navigateur, s'il est configuré pour proposer au client d'ouvrir le fichier dans Excel ou pas....
Je ne sais pas trop comment ça se passe, en tout cas pas avec du Php.

En fait si avec php, tu peux certainement, mais uniquement sur le serveur sur lequel il tourne...
0
magic charly Messages postés 122 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 14 septembre 2006 22
9 août 2005 à 11:19
Shaïulud,
saurais tu m'expliquer comment utiliser ce programme ?
0
Bonjour, je me permets de remonter le sujet car j'ai exactement le même problème, cependant la solution ne fonctionne pas chez moi.

Ce que je souhaiterais, c'est qu'après un clique sur un lien hypertexte, cela ouvre un fichier excel déjà existant et surtout en écriture. Ce point est très important car l'objectif est de pouvoir modifier ce fichier "à la main" et de l'enregistrer après. C'est à destination de non informaticiens.
Le code que j'utilise est le suivant: (pour le moment j'ai trois fichiers : mon interface en html/css, mon controleur controle.php, et mon fichier excel parametres.xls => c'est du pseudo MVC sans base de données!)
- mon lien dans ma vue:
<a href="./controle.php?dwn=./parametres.xls">lien vers le controleur</a>
- le contenu de mon controleur:
<?php
header("Content-type: application/msexcel" );
header('Content-Disposition: attachement; filename="parametres.xls"');
readfile("./parametres.xls" );
?>

Le problème de ce code est :
1) qu'il m'ouvre Excel en ReadOnly et que je n'arrive pas à l'ouvrir en écriture,
2) qu'il y a un bug -> il m'ouvre un document vierge controle.php dans excel... jamais mon fichier parametres.xls que je lui passe pourtant en paramètres et que j'indique à plusieurs reprises...

J'ai fait le tour du web avant de venir poser ma question, j'ai essayé pas mal de choses et là je sèche complètement. Si un bonne âme pouvait m'aider... =)
0
J'ai réglé mon problème numéro 2. C'était bien un bug, j'ai recodé le tout et bim magie!
Mais j'ai toujours le souci qui est que Readfile ne fait pas vraiment le travail que je voudrais, et que je ne trouve aucune alternative. Il y a bien fopen, mais quand je souhaite ouvrir mon fichier Excel, il me l'ouvre vierge...
Help! =)
0