IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[CSV] Génération d'un fichier CSV


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut [CSV] Génération d'un fichier CSV
    Bonjour, j'ai fait un script PHP qui génère un fichier CSV ,et ça marche bien , mais quand je 'ouvre avec Calc OpenOffice 2.4.1 il regroupe le contenu en une seule colonne .
    code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    		$csv_data = "Produit;quantite ;nom;Ref;Code;date creation\n";
    		for($l=0;$l<sizeof($tablo);$l++){
    				$csv_data .= '"'.utf8_encode($tablo[$l][0]).'";"'.utf8_encode($tablo[$l][1]).'";"'.utf8_encode($tablo[$l][2]).'";"'.utf8_encode($tablo[$l][3]).'";"'.utf8_encode($tablo[$l][4]).'";"'.utf8_encode($tablo[$l][5]).'"'."\n";
    		}
     
     
     
    		$filename = "file_pdt.csv";
    		@$fhandle = fopen($filename,"w");		
    		fwrite($fhandle,utf8_decode($csv_data));
    		fclose($fhandle);
     
    		header('Content-type: text/html; charset=utf-8'); 
    		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    		header('Content-type: application/force-download');
    		header('Content-Type: application/octet-stream');
    		header('Content-Disposition: attachment; filename="'.$filename.'"');
    		//readfile($dir.$filename); 
    		readfile($filename);

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Ce n'est pas ton code php qui est en cause mais le séparateur utilisé. Par défaut, le séparateur d'un fichier csv est la virgule...

    Il doit y avoir moyen dans calc de changer ce mode, ou au moins de proposer de choisir le séparateur, mais commences par remplacer tes ; par des , pour voir ce que ça change

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    A l'ouverture d'un fichier .CSV, OpenOffice.org demande le séparateur uilisé.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    salut ,

    merci Eusebe et jeca pour vos réponses , j'ai compris maintenant ( c'est la première fois que j'utilise CSV ).

    je pose une question : y a t-il un moyen de donner un titre au fichier Csv au lieu de garder le même nom du fichier physique sur le serveur ?

  5. #5
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Oui, en changeant cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		header('Content-Disposition: attachment; filename="'.$filename.'"');

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    merci Eusebe pour vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Génération d'un fichier csv
    Par Hobbi1 dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/07/2012, 19h30
  2. Réponses: 2
    Dernier message: 06/07/2007, 08h03
  3. [CSV] Creation d'un fichier csv côté client
    Par Taz_8626 dans le forum Langage
    Réponses: 6
    Dernier message: 31/03/2006, 09h48
  4. Ecrire un fichiers CSV à partir de 3 fichiers Excel
    Par yas2006 dans le forum Documents
    Réponses: 22
    Dernier message: 14/03/2006, 14h10
  5. Réponses: 12
    Dernier message: 07/12/2005, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo