Export vers excel - Saut de lignes

Résolu/Fermé
Marie53000 - 12 mai 2016 à 17:18
Marie53000 Messages postés 4 Date d'inscription jeudi 14 avril 2016 Statut Membre Dernière intervention 13 mai 2016 - 13 mai 2016 à 08:50
Bonjour,

Dans une fonction d'export vers excel de ma base de données j'ai un problème de saut de ligne.

J'ai réglé une partie du problème mais il reste 5 malheureux cas pour lesquels mon code ne marche pas.

Merci de me donner une idée pour avancer et finir cette fonction d'export.
Bonne journée
Marie

Code
  header("Content-type: application/vnd.ms-excel; charset=utf-8"); 
  header('Content-Disposition: attachment;filename='.$_GET['nom_table'].'.csv');
   
  echo utf8_decode('"Id prod";"Family";"Sub-Family";"Description";"Code Article";"EBP"'."\n"); 
  
  $select_table = mysql_query('select * from '.$_GET['nom_table']);
  
  while ($donnees = mysql_fetch_assoc($select_table))
  {
    
    $id = utf8_decode($donnees['id_prod']);
    $blineid = utf8_decode($donnees['prod_bl']);
    
    $name = utf8_decode($donnees['prod_name']);

    $name= str_replace(CHR(13).CHR(10)," - ",$name);
 
// tests ci-dessous ne marchent pas 
    //$name = str_replace('\r\n', '', $name); 
    // $name = str_replace('\r', '', $name); 
    //$name = str_replace('\n', '', $name); 
    
    $insertion ="$id;$family_name;$sfam_id;$name;$code;$ebp";
 
 
    $insertion = $insertion."\n"; 
    echo $insertion;
A voir également:

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 mai 2016 à 18:16
Bonjour
ceci devrait pourtant fonctionner :
$name = str_replace(array("\r\n", "\n\r", "\n", "\r"), ',', $name );

0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 mai 2016 à 18:17
Après... il existe aussi plus simplement l'instruction fputcsv()
https://www.php.net/manual/fr/function.fputcsv.php
Son utilisation devrait palier à ce problème.
0
Marie53000 Messages postés 4 Date d'inscription jeudi 14 avril 2016 Statut Membre Dernière intervention 13 mai 2016
13 mai 2016 à 08:50
Bonjour,

Merci pour ton aide.
Et ça marche le seul cas que je n'avais pas ajouté dans ma liste était le "/n/r" et c'est celui-là qui manquait.

Bonne journée
0