cs_richardd
Messages postés35Date d'inscriptionmercredi 26 mars 2003StatutMembreDernière intervention10 mai 2005
-
3 mars 2005 à 17:34
cs_aladi
Messages postés1Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention21 août 2005
-
21 août 2005 à 17:27
Bonjour,
J'essaye d'exporter des données vers un fichier excel, mais je n'obtient que des fichiers vides.
Voici mon code, si quelqu'un à la solution.
Merci
cs_navya
Messages postés33Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention 8 novembre 2007 4 mars 2005 à 08:52
Salut,
J'ai trouvé un truc sur un forum mais c'est pour MySQL:
<?
/*
/**********************************************/
/************ Scripted by oVa13 ******************/
/**********************************************/
< BR>Ce script sert à générer un fichier WORD ou EXCEL à partir de requetes faîtes sur Mysql.
Par défault, le script créé un fichier WORD.
Pour créer un fichier EXCEL il faut changer "msword" en "msexcel"
et "doc" en "xls" dans les variables $type_fichier et $extension juste en dessous !!
*/
//-- --on définit le type de fichier
$type_fichier = "msword";
//----on définit l'extension
$extension = "doc";
//----type extension (doc ou xls)
header("content-disposition: .doc; filename=liste_personnel.$extension");
//----date + titre
$now_date = date('d-m-Y H:i');
$titre = "Liste du personnel éditée le $now_date";
//---- libéllé requete SQL
$requete = "Select * from tabletest";
//---- récup des variables de connection
!include!("../config.inc");
//---- connection à la base
mysql_connect($serveur,$login,$pass) or die("Impossible de se connecter à la base de données");
mysql_select_db("$base") or die("Impossible de se connecter à la base de données");
//---- exécution requete SQL
$result = @mysql_query($requete) or die(mysql_error());
//---boucle d'enregistrement des données dans la variable $texte
$i = 0;
while($row = mysql_fetch_row($result))
{
$texte = "";
for($j=0; $j<MYSQL_NUM_FIELDS($RESULT);$J++)
{
//----noms des champs
//************ ATTENTION : il faut mettre la ligne ci-dessous en commentaires si vous voulez créer un fichier EXCEL ***********
$texte .= mysql_field_name($result,$j) . " : ";
cs_navya
Messages postés33Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention 8 novembre 2007 4 mars 2005 à 11:58
Le script que je viens de te donner est bidon, essai plutot ça mais cette fois c'est un ODBC mais si tu remplace odbc_ par mysql_ cela devrait fonctionner
/******************Voila**************/
//à mettre tout en haut de la page php et ne mettre que du php
header(
"Content-Type: application/csv-tab-delimited-table");
cs_navya
Messages postés33Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention 8 novembre 2007 4 mars 2005 à 13:40
Oui, ça marche pour moi mais est-ce que tu utilise MySQL ou une connexion ODBC,
Si c'est mySQL voici une autre version à peut etre modifier!!
<?
// Create data file from a 2 column table
$result = mysql_query("select * from table");
$fp = fopen("./dump.sql", "a");
cs_navya
Messages postés33Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention 8 novembre 2007 4 mars 2005 à 14:53
Bon voila tout ce que j'ai dans ma page PHP avec que du php!!!!!!!!!! et une connexion ODBC
Cette page est appelée grace à un formulaire html avec ceci:
header("Content-disposition: filename=table.csv");
//permet d'arrondir les réels de ma base de données met facultatif pour toi
function arrondi($r){
$r =round(
$r,
3);
return($r);
}
/***********************CONNEXION BASE DE DONNEES*******************************/
include
("fonctions/connex.php");
$connx= cnx_intranet();
//requete pour avoir les champs de ta base de données
$req=
"select chp1,chp2 from resultats";
//exécution de la requete
[mailto:$res=@odbc_exec($connx,$req); //ici tu donne les titres de tes colonnes avec la virgule qui sépare chaque colonne$csv_output $res=@odbc_exec(
$connx,
$req);
//ici tu donne les titres de tes colonnes avec la virgule qui sépare chaque colonne
$csv_output] =
"titre colonne 1,titre colonne 2";
$csv_output .=
"\n"; //permet d'aller à la ligne
//tantque tu a des résultats à partir de la requete, tu les récupères dans $chp1 et $chp2 puis tu
//les imprimes dans ton fichier csv
while (@odbc_fetch_row($res)) {
$chp1 =@odbc_result(
$res,
"chp1");
$chp2=@odbc_result(
$res,
"chp2");
$csv_output .=
"$chp1 ,$chp2 \n";//ici tu mets tes résultats dans ton fichier csv et \n permet de
//passer à la ligne à chaque résultat