bonjour,

j'utilise une fonction toute bête pour extraire des données de ma base et les exporter en CSV.

J'ai parfois des retours à la ligne (par exemple dans le champ adresse, elle peut être sur plusieurs lignes).

Ceux si sont bien pris en compte lorsque j'ouvre mon fichier sous excel WINDOWS (la cellule adresse conient bien 2 ou 3 lignes)

Ils ne sont pas traités correctement sous Mac : le retour à la ligne est pris tel quel, ma cellule ne contient qu'une ligne,la suite se retrouve dans la première cellule de la ligne suivante et non pas dans la même cellule.

Mes données sont bien encadrées par des "

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  	$SQL="SELECT T_EXPOSANT.RAISON, T_EXPOSANT.NOM, T_EXPOSANT.COD_TYPE, "
        ."T_EXPOSANT.ADRESSE, T_EXPOSANT.CP, T_EXPOSANT.VILLE FROM T_EXPOSANT ";
 
    $csv_output ="Raison Sociale,Nom,Adresse,CP,Ville";
    $csv_output .="\r\n";   
 
  	$tblREQUETE = mysql_query($SQL);
  	while ($val = mysql_fetch_array($tblREQUETE)) {
 
  	        $Raison=ereg_replace("\r\n","\n",$val["RAISON"]);
  	        $Raison=ereg_replace("\"","",$Raison);
  	        $Nom=ereg_replace("\r\n","\n",$val["NOM"]);
            	$Nom=ereg_replace("\"","",$Nom);
  	        $Adresse=ereg_replace("\r\n","\n",$val["ADRESSE"]);
            	$Adresse=ereg_replace("\"","",$Adresse);
            	$CP=$val["CP"];
  	        $Ville=ereg_replace("\r\n","\n",$val["VILLE"]);
            	$Ville=ereg_replace("\"","",$Ville);            
 
            $csv_output .="\"$Raison\",\"$Nom\",\"$Adresse\",\"$CP\",\"$Ville\",";
            $csv_output .="\r\n";                         
  	 }      
  	//#################################################################################
 
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: attachment; filename=".$NomFichier.".csv");
    print $csv_output;
    exit;
 
}
Merci pour votre aide