Rechercher : dans
Par :

PHP export CSV

Dernière réponse le 12 sep 2008 à 12:06:54 DAG, le 12 sep 2008 à 11:12:47 
 Signaler ce message aux modérateurs

Bonjour,
J'ai un problème lors de l'export d'une de mes table au format CSV.
J'ai écris le bout de code suivant :

<?php
// Liste les données de la table
// -------------------------------------------
include '../bdd/connexion_bdd.php';
$resQuery = mysql_query("SELECT * FROM ayant_droit");

//header("Content-type: application/vnd.ms-excel");
// header("Content-type: application/octet-stream");
header('Content-Type: application/octet-stream; charset=iso-8859-1');
// header("content-type: application/excel; charset=iso-8859-1");

//header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=table.csv");

if (mysql_num_rows($resQuery) != 0) {
  // titre des colonnes
  $fields = mysql_num_fields($resQuery);
  $i = 0;
  while ($i < $fields) {
    echo mysql_field_name($resQuery, $i).";";
    $i++;
  }
  echo "\n";

  // données de la table
  while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) {
   foreach($arrSelect as $elem) {
    echo "$elem;";
   }
   echo "\n";
  }
}
?>

Comme vous pouvez le voir j'ai essyé pas mal de Header...
Il me propose bien de télécharger le ficher table.csv, mais lorsque je veux le lire avec Excel : il me dit qu'il y a une erreur ! Je peux ignorer l'erreur, il continu à ouvrir le fichier, et il ne m'afficher rien.
Si j'essaie d'ouvrir le fichier avec un éditeur texte, je peux voir mes champs séparés par des ";" comme je souhaite le fiare.
Si j'essaie de l'ouvrir avec OpenOffice, il me demander quel type de fichier CSV j'utilise, je lui répond "avec spéarateur ";"" et là il me l'ouvre sans problème.

Je n'arrive pas à trouver l'erreur, et je ne comprend pas trop comment ça marche en plus...

Est-ce que qqu'un aurai un exemple qui marche avec MS Excel, ou aurai trouvé ou est le problème ??
Merci d'avance pour votre aide

Meilleures réponses pour « PHP export CSV » dans :
Exporter à coup sûr du CSV VoirExporter des données au format CSV n'est pas si trivial qu'il n'y paraît. Dès que vos données contiennent des virgules ou des guillemets, tout semble partir en vrille. Il y a une astuce. Voici comment procéder pour exporter à coup sûr vos...
[Python] Lire et écrire des fichiers CSV VoirLIRE ET ÉCRIRE DES FICHIERS CSV Python www.python.org, dans sa version 2.4 supporte de facto le format CSV (comma-separated values: valeurs séparées par des virgules). La Library Reference est certes très explicative à ce...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des...
Télécharger Pierre Le Muzic - Modeleur CSV VoirLe format CSV n’est pas connu du grand publique, qui sont plutôt habitué au format XLS. Modeleur CSV est une application permettant de transférer des fichiers de données texte entre logiciels qui supportent le format CSV. Il vous est aussi...
Fichier CSV VoirFormat CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...

1

kilian, le 12 sep 2008 à 11:58:55

Salut,

CSV = "Comma Separated Value"

Et le comma en question c'est la virgule, pas le point-virgule. Donc sépare tes champs par des virgules et avec excel il ne devrait pas y avoir de soucis.
Ou bien tu peux prendre la tabulation comme séparateur mais en ce cas renomme l'extension de ton fichier en .xls Alors comme ça je fais le zouave hein?

Répondre à kilian

2

DAG, le 12 sep 2008 à 12:04:04
  • +1

Non, non c'est bon ça marche ! C"était pas ça l'erreur... Ca marche avec des " ; ". Je viens trouver l'erreur.
C'est une erreur normale !! Un fichier .csv ne doit pas commencer par la chaîne de caractère "ID" !! Allucinant !
La preuve : http://support.microsoft.com/kb/215591/fr

Merci bilou !

Il faut soit remplacer "ID" par 'id' ou '_ID' ou autre chose !

Voila j'en est chier pour trouver ça !! lol

Répondre à DAG

3

 kilian, le 12 sep 2008 à 12:06:54

Oulah! Bien vu ;-) Alors comme ça je fais le zouave hein?

Répondre à kilian