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 sujet, mais uniquement...
[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 fonctions Débuggeur...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
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...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

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