Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 28/07/2011, 16h38   #1
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
Par défaut Mise en forme d'un fichier excel en PHP

Bonjour à tous,

Je voudrais extraire les données d'une table et les afficher avec le libéllé des champs dans un fichier excel.

Pour cela pas de souci je le fait grace à la fonction fputs() :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
$fname = "extract.xls" ;
// si la requete retourne un resultat
if (!$resultat) die('Pb dans la generation du fichier');
	// on récupere le nombre de champs 
	$num_fields = mysql_num_fields($resultat);
	// on creer un tableau qui va stocker le libeller des champs
	$headers = array();
    for ($i = 0; $i < $num_fields; $i++) {
	// on stock le libellés des champs 
        $headers[] = mysql_field_name($resultat , $i);
    }
	// on ouvre le fichier .csv en ecriture
    $fp = fopen($fname, 'w');
	// mesasge d'erreur en cas d'echec de l'ouverture ou de l'ecriture
    if ($fp == false) {die("Impossible d'ecrire dans le fichier");}
 
 
	// si c OK on ecrit 
    if ($fp && $resultat) 
	{
	for ($i=0;$i<$num_fields;$i++)
	{
        fputs($fp, "$headers[$i]\t");
	}
	fputs($fp, "\n");
	while($row = mysql_fetch_row($resultat)){
		for ($i=0;$i<$num_fields;$i++)
		{
		fputs($fp,"$row[$i]\t");
		}
		fputs($fp,"\n");		   			   
        }
    }
Ici les données de ma table s'affiche sans probleme dans mon fichier excel.
Mais je voudrais y mettre un peu de couleur et de mise en forme.

Quelqu'un pourrait-il me dire comment je peux mettre en forme mon fichier excel en gardant cette méthode ci-dessus ?
Merci d'avance pour vos réponse.
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 17h23   #2
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 305
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 305
Points : 4 485
Points : 4 485
je crois que tu ne peux pas car tu n'accède pas au info d'excel directement de cette manière.

pour la mise en forme il faudrait plutôt passer par du phpexcel etc ...
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h00.


 
 
 
 
Partenaires

Hébergement Web