[EDIT] Problème résolu, j'ai utilisé une autre méthode ! [/EDIT]
Bonjour,
je souhaite écrire dans un fichier Excel via PHP et MySQL.
J'ai cherché des tutoriels et informations sur le web et ai trouvé ceci :
Je fais appel à ma page PHP via un appel Ajax comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 header("Content-type: application/vnd.ms-excel"); header("Content-disposition: attachment; filename=recapitulatif.xls");
Mon "console.log(html)" affiche bien mes données qui devraient s'afficher dans mon fichier Excel, mais il ne se passe rien, aucune ligne d'écrite, pas d'ouverture de fichier, rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $.ajax({ type: 'GET', url: 'php_vers_excel.php?site='+site+'&tri='+tri+'&dtdeb='+dtedeb+'&dtfin='+dtefin, success: function(html) { console.log(html); } });
Voici mon code complet :
Alors est-ce qu'il y a quelque chose que j'ai oublié ? Une erreur que je ne vois pas ?
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 if(isset($_GET['site'])) { $ag = '...'; // Récupération du nom du site $reqsite = '...'; $nomsite = mysql_result($ressite,0); //Logo $csv = ''; if(strpos($ag,'aaa') !== false) $csv = "Images/logo-aaa.png"; if(strpos($ag,'bbb') !== false) $csv = "Images/logo-bbb.png"; if(strpos($ag,'ccc') !== false) $csv = "Images/logo-ccc.png"; //Titre $csv .= "\n Liste des interventions pour le site : \n".$nomsite; $csv .= "\n Période du ".$_GET['dtdeb']." au ".$_GET['dtfin']; // Adresse $reqadr = 'SELECT * FROM _temp WHERE Site_id = '.$_GET['site'].' AND Nom_rue <> "" AND Cp_dep <> "" AND Cp_insee <> "" AND Date_creation >'.$_GET['dtdeb'].' AND Date_creation <'.$_GET['dtfin']; $resadr = mysql_query($reqadr); while($fetch = mysql_fetch_array($resadr)) { // Si cp_insee sur 1 ou 2 caractères if(strlen($fetch['Cp_insee']) == 2) $cp = '0'.$fetch['Cp_insee']; else if(strlen($fetch['Cp_insee']) == 1) $cp = '00'.$fetch['Cp_insee']; else $cp = $fetch['Cp_insee']; $csv .= $fetch['Num_rue'].' '.$fetch['Nom_rue'].' - '.$fetch['Cp_dep'].$cp.' '.$fetch['Commune']; } header("Content-type: application/vnd.ms-excel"); header("Content-disposition: attachment; filename=recapitulatif.xls"); print($csv); }
Merci !![]()
Partager