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 :

Export fichier csv


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut Export fichier csv
    Bonjour à tous !

    Je vous expose mon probléme.
    Je veux exporter des données retournées par une requête, sous la forme d'un fichier csv.

    Voici un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $list = array (
       array("aaa;","bbb;","ccc;","d8dd;"),
       array("123;", "456;", "789;"),
       array("aaa;", "bbb;")
    );
    $fp = fopen('file.csv', 'w');
    foreach ($list as $fields) {
        fputcsv($fp, $fields);
    }
    fclose($fp);
    Le souci est que lorsque j'ouvre mon fichier avec excel des virgules trainent et je n'arrive pas à accéder au format des cellules.

    Ci-joint vous trouvez le resultat sur le fichier excel.

    Merci d'avance.
    Images attachées Images attachées  

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    bonjour,

    si le but est d'effacer les virgules en début de champs tu peux faire ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       fputcsv($fp, ltrim($fields, ','));

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Merci d'avoir répondu aussi vite !!

    J'ai toujours le même problème les virgules persistent

    Voila le code avec la fonction ltrim()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    [..........]
     
    $fp = fopen('file.csv', 'w');
    foreach ($list as $fields) {
    	fputcsv($fp, ltrim($fields, ','));
        fputcsv($fp, $fields);
    }
    [........]

  4. #4
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    faut pas réecrire 2 fois la même instruction

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach ($list as $fields) {
    	fputcsv($fp, ltrim($fields, ','));
    }

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Mon fichier est vide !

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Cela viendrai peut-être de mon array() ?

  7. #7
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    je connaissais pas fputcsv et apparemment c'est un tableau donc autant le traiter en amont.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $sortie = array();
     
    foreach($list as $cle=>$tab){
    	$sortie[$cle] = array();
    	foreach($tab as $valeur)
    		$sortie[$cle][] = ltrim($valeur, ',');			
    }
     
    foreach ($sortie as $fields) {
    	fputcsv($fp, $fields);
    }

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Toujours le même problème!

    Voici mon code modifier mais les virgules sont toujours là :

    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
     
    $sortie = 
    array (
       array('aaa;','bbb;','ccc;','d8dd;'),
       array('123;', '456;', '789;'),
       array('aaa;', 'bb;'));
    $fp = fopen('file.csv', 'w');
    foreach($list as $cle=>$tab)
    {
    	$sortie[$cle] = $sortie;
    	foreach($tab as $valeur)
    		array_push($sortie[$cle], ltrim($valeur, ','));		
    }
    foreach ($sortie as $fields) {
    	fputcsv($fp, $fields);
    }

  9. #9
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut


    je vois pas de virgules dans ton tableau d'entrée

    es tu sur de bien analyser l'origine du problème ?

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Sayé j'ai trouvé !!

    j'ai rajouté le separateur (point virgule) non pas dans mon tableau mais dans la fonction fputcsv() .

    Voici le bon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $sortie = 
    array (
       array('aaa','bbb','ccc','d8dd'),
       array('123', '456', '789'),
       array('aaa', 'bb'));
    $fp = @fopen('file.csv', 'w');
     
    foreach ($sortie as $fields) {
    	$sortie = str_replace(",", "",$sortie);
    	fputcsv($fp, $fields,";");
    }
    Merci encore de ton aide !!

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

Discussions similaires

  1. Export fichier csv
    Par Jinkas dans le forum Import/Export
    Réponses: 3
    Dernier message: 10/02/2011, 14h07
  2. [phpMyAdmin] Encodage et importation / exportation fichier CSV
    Par mikael2235 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 01/06/2010, 22h02
  3. [CSV] export fichier csv IE pas option enregistrer sous
    Par yveslens dans le forum Langage
    Réponses: 2
    Dernier message: 05/07/2009, 22h24
  4. Réponses: 1
    Dernier message: 26/03/2007, 10h47
  5. export fichier csv
    Par moncanard dans le forum Documents
    Réponses: 14
    Dernier message: 18/05/2006, 13h37

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