slt à tous,
je me tourne vers vous pour un petit blem.
j'ai un petit bout de code qui exporte une bdd en csv, jusqu'a la pas de blem particulier. Le seul souci c'est que la bdd et en utf-8 et donc dans excel cela créer des problème avec les accents et caractères spéciaux.
je vous met le code :
quelle est la soluce pour que l'export se fasse de façon clin en csv ?
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 // Connexion MySQL // Obligatoire pour la suite ! // la variable qui va contenir les données CSV $outputCsv = ''; // Nom du fichier final $fileName = 'export-stocklist.csv'; $requete = "SELECT * FROM catalogue ORDER BY ordre ASC"; $sql = mysql_query($requete); if(mysql_num_rows($sql) > 0) { $i = 0; while($Row = mysql_fetch_assoc($sql)) { $i++; // Si c'est la 1er boucle, on affiche le nom des champs pour avoir un titre pour chaque colonne if($i == 1) { foreach($Row as $clef => $valeur) $outputCsv .= trim($clef).';'; $outputCsv = rtrim($outputCsv, ';'); $outputCsv .= "\n"; } // On parcours $Row et on ajout chaque valeur à cette ligne foreach($Row as $clef => $valeur) $outputCsv .= trim($valeur).';'; // Suppression du ; qui traine à la fin $outputCsv = rtrim($outputCsv, ';'); // Saut de ligne $outputCsv .= "\n"; } } else exit('Aucune donnée à enregistrer.'); // Entêtes (headers) PHP qui vont bien pour la création d'un fichier Excel CSV header("Content-disposition: attachment; filename=".$fileName); header("Content-Type: application/force-download"); header("Content-Transfer-Encoding: application/vnd.ms-excel\n"); header("Pragma: no-cache"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); header("Expires: 0"); echo $outputCsv; exit();
Merci d'avace de votre aide.
@+
Partager