Export en xls

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Export en xls

Re: Export en xls

par Ariochs » 17 janv. 2011, 12:07

Ne vous moquez pas mais l'erreur venait d'un oublie de ";" à la ligne : "$enreg = mysql_query($sql)"

Et il faut enlever les // au niveau des headers. Maintenant j'ai bien mon fichier xls.

Je vous remercie de votre aide et de votre réactivité.

Re: Export en xls

par stealth35 » 17 janv. 2011, 12:00

En fait j'ai des balises HTML car j'ai repris mon code qui me permettais d'afficher ce que je voulais dans une page HTML, mais on me demande de l'avoir sur excel (forcement ce que je sais faire on n'en veux pas, et ce que je n'arrive pas à faire on me le demande :( )

[EDIT] : J'ai mis
error_reporting(-1);
ini_set('display_errors', true);
entre "print ($tbl);" et "exit;" mais ça ne m'affiche rien. Est ce mal placé ?

Pour ce qui est du HTML, il ne doit pas y en avoir ?
il faut faire un format CSV, regarde du coté de fputcsv

Re: Export en xls

par Ariochs » 17 janv. 2011, 11:49

En fait j'ai des balises HTML car j'ai repris mon code qui me permettais d'afficher ce que je voulais dans une page HTML, mais on me demande de l'avoir sur excel (forcement ce que je sais faire on n'en veux pas, et ce que je n'arrive pas à faire on me le demande :( )

[EDIT] : J'ai mis
error_reporting(-1);
ini_set('display_errors', true);
entre "print ($tbl);" et "exit;" mais ça ne m'affiche rien. Est ce mal placé ?

Pour ce qui est du HTML, il ne doit pas y en avoir ?

Re: Export en xls

par stealth35 » 17 janv. 2011, 11:48

Bonjour Stealth et merci de ta réponse aussi rapide.

Quand tu me dis : "commente les headers" c'est mettre "//" devant ?

Si oui ça ne change rien
faut activer les erreur de php : error_reporting(-1) et ini_set('display_errors', true)
mais déjà regarde y'a du html dans ton fichier...

Re: Export en xls

par xTG » 17 janv. 2011, 11:45

J'avais lu à une époque tout un tas d'articles pour générer des fichiers excel mais c'est la première fois que je vois des balises html intervenir dans le code.
J'ai retrouvé cela dans mes favoris si cela peut t'aider, c'est une autre méthode mais qui est complètement expliquée et qui est multi-plateforme : mysql vers excel via php et sylk

Re: Export en xls

par Ariochs » 17 janv. 2011, 11:44

Bonjour Stealth et merci de ta réponse aussi rapide.

Quand tu me dis : "commente les headers" c'est mettre "//" devant ?

Si oui ça ne change rien

Re: Export en xls

par stealth35 » 17 janv. 2011, 11:40

commente les headers et tu verras

Export en xls

par Ariochs » 17 janv. 2011, 11:38

Bonjour,

J'aimerais réaliser une exportation d'un test sur un document .xls . Après quelques recherches sur internet et des tests (tous échoués :( ) je viens vous demander conseil.

Voilà mon code actuel :
<?php
		
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");


//Connexion au serveur de bdd
mysql_connect("localhost", "bb", "cc") or die("Problème connexion serveur");		
// Connexion à la BDD
mysql_select_db("aa") or die("Problème connexion BDD");
	
$sql = "SELECT * FROM test WHERE ec='av' AND clo='1a' AND testa='1' AND testb='1' ORDER BY nom ASC";
$enreg = mysql_query($sql)

$tbl= " <table border='0' cellpadding='0' cellspacing='0'>
<tr bgcolor='#CCCCCC' height='40px'>
<td>Nom</td>
<td>Prénom</td>
<td>Mail</td>
<td>Compréhension</td>
<td>Ecrit</td>
</tr>";
while ($data = mysql_fetch_array($enreg))
{

$nom = $data['nom'];
$prenom = $data['prenom'];
$mail = $data['mail'];
$comprehension = $data['aq01'] + $data['aq02'];  // je dois faire une addition des colonnes de ma BDD à ce niveau par rapports aux réponses que j'ai eu
$ecrit = $data['bq01'] + $data['bq02']; // pareil

$tbl = $tbl . "<tr>";
$tbl = $tbl . "<td>" . $nom . "</td>";
$tbl = $tbl . "<td>" . $prenom . "</td>";
$tbl = $tbl . "<td>" . $mail . "</td>";
$tbl = $tbl . "<td>" . $comprehension . "</td>";
$tbl = $tbl . "<td>" . $ecrit . "</td>";
$tbl = $tbl . "</tr>";
}
$tbl = $tbl . "</table>";

print ($tbl);
exit;
?>
Pouvez vous m'aider s'il vous plait ?

PS : Actuellement ce code me sors qu'une page blanche