Bonjour à tous,

Avant d'écrire ce message, j'ai pris soin de lire tous les sujets ressemblant au miens, j'ai en effet trouvé beaucoup de choses, mais ça m'a d'avantage perdu.

J'expose mon problème :

J'ai un tableau html, remplis par des requêtes sql, via php.

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
57
58
59
60
61
62
63
64
echo'<table id="tab_total">';
echo '<tr><td>numero de compte</td><td>numero d\'action</td><td>libelle</td><td>date</td><td>montant HT</td><td>tva</td><td>montant TTC</td><td>facture image</td><td>Supprimer</td></tr>';
 
for ($i=0; $i <= 9; $i++) {
 
 
 
$total_prod = true;
 
 
 
$verif_requete = mysql_query("SELECT * FROM p_facture where Month(PF_date) between ".$mois." and ".$mois3." and PF_numcompte like ('7".$i."%')");
$tab_verif_requete = mysql_fetch_assoc($verif_requete);
 
if (!empty($tab_verif_requete)){ // on regarde si la requete contient des resultats si c'est le cas on les affiches, sinon on passe
 
echo'<tr><th colspan=9>'.$titre[$i].'</th></tr>';
for ($j=00; $j <= 9; $j++) {
 
 
$sql_700 = mysql_query("SELECT * FROM p_facture where Month(PF_date) between ".$mois." and ".$mois3." and PF_numcompte like ('7".$i.$j."%')"); 
 
$z = $j - 1;
 
while ($rep_700 = mysql_fetch_assoc($sql_700)) // iteration pour afficher les champs
{
$num = $rep_700['PF_num'];
$montant = $rep_700['PF_montant'];
$libelle = $rep_700['PF_libelle'];
$date = $rep_700['PF_date'];
$comptes = $rep_700['PF_numcompte'];
$tva = $rep_700['PF_tva'];
$imgfacture = $rep_700['PF_img'];
$ttc = $montant * (1+$tva/100) ;
 
echo '<tr><td>'.$comptes.'</td><td>'.$num.'</td><td>'.$libelle.'</td><td>'.$date.'</td><td class="montant">'.$montant.'€</td><td>'.$tva.'%</td><td class="montant">'.$ttc.'€</td>';
if (!empty ($imgfacture)) // si il n'y a pas de facture on affiche rien .
{
echo ' <td><a href="'.$imgfacture.'"><img src="'.$imgfacture.'" alt="'.$libelle.'" title="'.$libelle.'" width=30px height=40px border=0></a>
</td></tr>';
 
}
else{
echo '<td>sans facture</td>';
}
echo '<td><a href="?btm=total_prod&suppr='.$num.'">IMAGE SUPPRIMER</a></td></tr>';
$total_ttc += $ttc;
$total_tout += $montant;
}
}
 
$sql_total_prods= ("select sum(PF_montant) as total from p_facture where Month(PF_date) IN (".$mois.", ".$mois3.") and PF_numcompte between 7".$i."0 and 7".$i."9 or PF_numcompte between 7".$i."00 and 7".$i."99");
 
$requete_total_prods = @mysql_query($sql_total_prods) or die($sql_total_prods."<br>".mysql_error()) ;//on récupère le résultat
$tab_total_prods = mysql_fetch_assoc($requete_total_prods); //$tab_ca est un tableau
$total_prods[$i] = $tab_total_prods['total'];
 
echo "<tr id='zone_calcul'><td>total 7".$i."</td><td colspan=4>".$total_prods[$i]."€</td><td colspan=3></td></tr>";
 
}
}
 
echo "<tr id='zone_calcul'><td>total des montants</td><td colspan=4>".$total_tout."€</td><td></td><td>".$total_ttc."€</td><td></td></tr>";
echo'</table>';
J'aimerai donner la possibilité à l'utilisateur d'enregistrer ce tableau pour Excel ou son équivalent Open Office dans un premier temps (après pourquoi pas voir au format pdf).

J'ai bien lu et un peu compris les tuto de Maitre Pylos, je vous pose maintenant la question, laquelle des ses méthodes est-elle la plus adapter à mes besoins ?
  • PHPExcel

  • Spreadsheet_Excel_Writer


J'ai aussi vue une méthode qui consister à mettre simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
header("Content-type: application/vnd.ms-excel");
Cependant, elle enregistre en ".php"

Si vous avez besoin d'avantages d'informations, n'hésitez pas à me questionner.