Génération de fichier xls en php


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Génération de fichier xls en php

Message le Jeu Avr 14, 2011 17:24

Bonjour,

j'ai un script qui doit générer un fichier Excel de type xls.
Voici mon code :

Code: Tout sélectionner
$file_export = "fileXls_".date('YmdHis').".xls";
$flux_export = fopen($file_export, "x+");

$array_entete = array('nom','prenom', ...);
fputcsv($flux_export, $array_entete);

/* TRAITEMENT MySQL */

$array_data[] = $nom;
$array_data[] = $prenom;
$array_data[] = ...;

fputcsv($flux_export, $array_data);
fclose($flux_export);


le ficher xls est bien généré, mais quand je l'ouvre il a le format d'un csv, avec le séparateur virgule. J'aimerais vraiment avoir un fichier excel avec des colonnes ...

fputcsv n'est pas compatible ???

Merci à vous


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: Génération de fichier xls en php

Message le Jeu Avr 14, 2011 18:06

fputcsv, comme son nom l'indique, c'est pour du csv :) CSV qui, si tu l'ouvres sous Excel, s'affiche en colonne, suffit que le bon séparateur soit choisi.

Si tu veux générer un vrai fichier excel, tu devrais davantage te pencher sur ce genre de choses : http://www.codediesel.com/php/creating-excel-documents-in-php/


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 9:50

sinon, tu peux le créer au format sylk avec l'extension xls, comme çe en double cliquant tu l'ouvriras dans excel


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 9:54

j'ai fait encore plus simple :
Code: Tout sélectionner
fputcsv($flux_export, $array_data, "\t");
avec le séparateur tabulation : rien de plus simple !

Dernier souci : le premier 0 pour les CP des 9 premiers départements : comment forcer l'affichage du 0 automatiquement ? le fichier xls est bien généré avec un 0 mais lors de l'ouverture il ne figure pas ! je sais qu'on peut l'afficher avec format de cellule > personnalisé mais je vais vraiment qq ch d'automatique

Une idée ?


Marie-Aude
Modérateur
Modérateur
 
Messages: 11884
Inscription: 5 Juin 2006

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 10:18

Je pense que tout est dans le lien donné par Leonick


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 10:19

il faut le mettre au format texte. Et pour ça, le csv ne suffit plus, alors qu'avec le sylk on peut paramétrer le format de cellules. en plus, c'est un format ouvert, qui peut être lu par n'importe quel tableur


spout
WRInaute accro
WRInaute accro
 
Messages: 4378
Inscription: 14 Mai 2003

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 11:16

+1 Leonick pour le sylk.


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 12:42

encore plus simple messieurs dames :
en un coup
Code: Tout sélectionner
$array_data[] = '="'.$CP.'"';


le compte est bon ^^


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 13:05

sauf que tu es obligé d'importer ce fichier depuis excel, alors qu'avec un format sylk et une extension xls, un clic dessus l'ouvrira directement dans excel (ou dans Ooo)


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 15:37

non ce que tu dis est également faisable facilement avce un header application vns-excel un truc du genre (testé et ça marche)


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: Génération de fichier xls en php

Message le Ven Avr 15, 2011 15:48

oui, mais, en général, un fichier xls/doc, je le sauvegarde sur mon pc et je l'ouvre ensuite, histoire de pouvoir le sauver où je souhaite et pouvoir le modifier. Le header ne servant que lors d'un "ouvrir" directement depuis le navigateur


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: Génération de fichier xls en php

Message le Sam Avr 16, 2011 22:00

le header te propose l'ouverture ou l’enregistrement


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité