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 :

[Librairies] générer un .csv en php pour excel


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Points : 70
    Points
    70
    Par défaut [Librairies] générer un .csv en php pour excel
    Bonjour,


    Je dois générer un fichier .csv qu'on pourra ouvrir avec excel.Pour cela j'utilise la fonction fputs ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $fichier = "test.csv";
    $voila = fopen($fichier, "w");
    $texte = "bonjour";
    $texte2 = "bye";
     
    fputs($voila, "$texte,$texte2\n$texte");
    Le code fonctionne crée le fichier mais quand je l'ouvre, j'ai un mauvaise surprise.
    La virgule est le séparateur qui, par défaut, lui permet de changer de colonne mais lorsque les variables ciomprennent ce caractère, le reste du texte de la variable est comprise dans une autre case.

    Comment puis je résoudre ce problème?

    Une autre question, un peu hasardeuse, peut on régler la taille des colonnes excel avec php(...)?

    Merci

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    L'idéal est de formater tes données de cette manière :

    "ligne 1, colonne 1","ligne 1, colonne 2"
    "ligne 2, colonne 1","ligne 2, colonne 2"

    Avec des " pour délimiter chaque cellule.
    Tu peux échapper un " en le doublant :

    "ligne 1, un "", colonne 1","ligne 1, colonne 2"

    (je crois qu'il y a des fonctions PHP fputcsv( ) ou un truc dans le genre, à voir)

    peut on régler la taille des colonnes excel avec php(...)?
    Non, à moins de passer par une API qui génèrera le binaire .xls qui va bien.

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    essaie fputcsv

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 125
    Points : 70
    Points
    70
    Par défaut
    j'ai essayé fputcsv mais la fonction n'est pas reconnu, je travaille avec php4, peut être est ce la cause.

Discussions similaires

  1. [CSV] Code PHP pour générer un CSV
    Par Décibel dans le forum Langage
    Réponses: 4
    Dernier message: 16/05/2009, 20h18
  2. Réponses: 2
    Dernier message: 06/12/2007, 15h11
  3. [CSV] Fonction PHP pour SQL Server
    Par wolflinger dans le forum Langage
    Réponses: 2
    Dernier message: 17/05/2006, 12h57
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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