2010-08-24 23 views
3

Im en mesure de produire un fichier Excel par php et il ouvre correctement dans Excel. Aucun problème là-bas. Lorsque l'utilisateur clicsk enregistrer comme dans Excel il vient avec la première option .txt Comment puis-je définir l'en-tête de sorte que la première option sera .xls avec enregistrer sous. têtes im en utilisant maintenant:en-tête pour le fichier Excel enregistrer sous

$filename="jaar.xls"; 
header("Content-Type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=$filename"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

Merci à l'avance

+0

Quel est le nom de fichier de $? Si c'est Something.xls alors c'est probablement tout ce que vous pouvez faire; mime et extension. J'utilise parfois le raccourci html-tables-to-excel, mais vous pouvez obtenir une solution un peu plus native avec la bibliothèque Spreadsheet Writer dans Pear – Hans

+0

thats le type de contenu que j'utilise, ne pas avoir de problèmes. Vous trouverez probablement votre problème spécifique au navigateur, pas que cela vous aide –

+0

filename = jaar.xls J'aimerais que ce soit si simple, je l'ai ajouté à la source. – Grumpy

Répondre

1

la solution est d'utiliser PHPExcel http://phpexcel.codeplex.com/

si le fichier xls utilisé est construit avec/comme un fichier texte, il sera traité comme un fichier txt par excel

1

Si votre nom comporte des espaces, vous devriez essayer la citer:

header("Content-Disposition: attachment; filename='$filename'"); 
0
header("Content-Disposition: attachment; filename=".$filename); 

Cela suffit pour enregistrer en tant que fichier excel