Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 11/02/2011, 12h47   #1
Invité de passage
 
Inscription : octobre 2008
Messages : 20
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 20
Points : 1
Points : 1
Par défaut Générer un fichier xls (pas csv) sur php

Bonjour,

je voudrais savoir comment générer un fichier xls (pas csv) sur php. est ce qu'il y a des moyens pour faire? header information, séparation de colonne..??

merci
olikhvar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 13h01   #2
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Bonjour,

voici un exemple simple qui génère un fichier xls :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
// Premiere ligne = nom des champs. (\t) sert à passer d'une cellule à une autre dans excel
$csv_output = "nom_champ1\tnom_champ2\tnom_champ3";
$csv_output .= "\n";
 
$query = "La requête";
 
        $result = mysql_query($query)
        or die('Erreur SQL !<br />' . $query . '<br />' . mysql_error());
 
        //Boucle sur les resultats :
        while($row = mysql_fetch_array($result)) {
            $csv_output .= "$row[champ1]\t$row[champ2]\t$row[champ3]\n"; // \t: sert à passer d'une cellule à une autre pour excel
        }
 
        header("Content-type: application/vnd.ms-excel");
        header("Content-disposition: attachment; filename=Export_" . date("d-m-Y").".xls");
        print $csv_output;
        exit;
?>
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 13h54   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par arthuro45 Voir le message
Bonjour,

voici un exemple simple qui génère un fichier xls :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
// Premiere ligne = nom des champs. (\t) sert à passer d'une cellule à une autre dans excel
$csv_output = "nom_champ1\tnom_champ2\tnom_champ3";
$csv_output .= "\n";
 
$query = "La requête";
 
        $result = mysql_query($query)
        or die('Erreur SQL !<br />' . $query . '<br />' . mysql_error());
 
        //Boucle sur les resultats :
        while($row = mysql_fetch_array($result)) {
            $csv_output .= "$row[champ1]\t$row[champ2]\t$row[champ3]\n"; // \t: sert à passer d'une cellule à une autre pour excel
        }
 
        header("Content-type: application/vnd.ms-excel");
        header("Content-disposition: attachment; filename=Export_" . date("d-m-Y").".xls");
        print $csv_output;
        exit;
?>
c'est un CSV ça ...
en plsu c'est pas le bonne méthode pour en créer un
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 14h00   #4
Rédacteur/Modérateur
 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 174
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 39
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 174
Points : 6 460
Points : 6 460
Autant utiliser les bons outils (enfin presque)
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 14h30   #5
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Pour une fois que je pensais pouvoir aider quelqu'un, c'est raté

Citation:
c'est un CSV ça
Chez moi ça génère un xls basique certe, mais .xls reconnu comme tel par Excel.
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 14h43   #6
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
non c'est parce que tu travailles avec windows et que windows fait confiance aux extensions.

Ouvre un vrai xls créé avec excel et ton fichier dans un éditeur de texte (notepad...) tu verras la différence.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 14h56   #7
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
Ouvre un vrai xls créé avec excel et ton fichier dans un éditeur de texte (notepad...) tu verras la différence.
Dans notepad :
Effectivement, avec un xls généré par Excel j'ai des caractères illisibles, ce qui semble normal, tandis qu'avec un xls généré par mon script tout est lisible.
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 15h13   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par arthuro45 Voir le message
Dans notepad :
Effectivement, avec un xls généré par Excel j'ai des caractères illisibles, ce qui semble normal, tandis qu'avec un xls généré par mon script tout est lisible.
et pour creer un csv c'est avec fputcsv
__________________
http://blog.stealth35.com/
stealth35 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 09h45.


 
 
 
 
Partenaires

Hébergement Web