Fichier Excel

Résolu
Signaler
Messages postés
528
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
Messages postés
528
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
Bonjour, je ne comprends pas, j'utilise le code ci-dessous pour ecrire dans un fichier excel et ca ne se passe pas comme je voudrais....
Je veux à partir d'un fichier qui me sert de modéle, écrire dans un fichier excel avec une mise en page pré établie (couleurs, mode paysage...)

CODE :
<?php


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$requete = "SELECT * FROM $Annuaire ORDER BY Nom" ; // on sélectionne les enregistrements
$req = odbc_do($cnx, $requete);
$res = odbc_num_rows($req); // on compte le nombre de résultats


$modele = ("..\Annu\Modele.xls");
$fic = ("..\Annu\Annuaire.xls"); // le fichier doit déjà exister
copy($modele,$fic);
$file=fopen($fic,'r+'); //on ouvre le fichier


fputs($file,"Nom Prénom\t Société\t Service\t Numéro téléphone fixe\t Numéro abrégé téléphone fixe (Lafrançaise uniquement)\t Numéro de fax\t Numéro de portable\t Numéro abrégé de fixe à portable\t Adresse e-mail\t \n");


if (!$file) // erreur }
{
print("'$fic' n'existe pas!\n");
exit;
}

while ( odbc_fetch_row($req) )
{
//on récupère les champs
$Nom = odbc_result($req,"Nom");
$Societe = odbc_result($req,"Societe");
$Service = odbc_result($req,"Service");
$Fixe = odbc_result($req,"Fixe");
$Fixe_abrege = odbc_result($req,"Fixe_abrege");
$Fax = odbc_result($req,"Fax");
$Portable = odbc_result($req,"Portable");
$Abrege_fp = odbc_result($req,"Abrege_fp");
$Mail = odbc_result($req,"Mail");


//ecriture
fputs($file,"$Nom\t $Societe\t $Service\t $Fixe\t $Fixe_abrege\t $Fax\t $Portable\t $Abrege_fp\t $Mail\t \n"); //une tabulation \t pour changer de colonne et un retour chariot \n pour changer de ligne


}


header("Content-Type: application/force-download");
header("Content-disposition: attachment; filename=Annuaire.xls");
readfile("$fic");


?>

Merci d'avance

7 réponses

Messages postés
528
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009

Bon ça ne fonctionne pas non plus....
Mais je ne comprends pas pourquoi ça ne marche pas, là , ça me donne un fichier avec la bonne mise en page mais vide de données....

CODE :

<?php


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$requete = "SELECT * FROM $Annuaire ORDER BY Nom" ; // on sélectionne les enregistrements
$req = odbc_do($cnx, $requete);
$res = odbc_num_rows($req); // on compte le nombre de résultats


$modele = ("..\Annu\Modele.xls");
$fic = ("..\Annu\Annuaire.xls"); // le fichier doit déjà exister
copy($modele,$fic);
$file=fopen($fic,'a+'); //on ouvre le fichier


fputs($file,"Nom Prénom\t Société\t Service\t Numéro téléphone fixe\t Numéro abrégé téléphone fixe (Lafrançaise uniquement)\t Numéro de fax\t Numéro de portable\t Numéro abrégé de fixe à portable\t Adresse e-mail\t \n");


if (!$file) // erreur }
{
print("'$fic' n'existe pas!\n");
exit;
}

while ( odbc_fetch_row($req) )
{
//on récupère les champs
$Nom = odbc_result($req,"Nom");
$Societe = odbc_result($req,"Societe");
$Service = odbc_result($req,"Service");
$Fixe = odbc_result($req,"Fixe");
$Fixe_abrege = odbc_result($req,"Fixe_abrege");
$Fax = odbc_result($req,"Fax");
$Portable = odbc_result($req,"Portable");
$Abrege_fp = odbc_result($req,"Abrege_fp");
$Mail = odbc_result($req,"Mail");


//ecriture
fputs($file,"$Nom\t $Societe\t $Service\t $Fixe\t $Fixe_abrege\t $Fax\t $Portable\t $Abrege_fp\t $Mail\t \n"); //une tabulation \t pour changer de colonne et un retour chariot \n pour changer de ligne


}


header("Content-Type: application/force-download");
header("Content-disposition: attachment; filename=Annuaire.xls");
readfile("$fic");


?>
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$Nom = odbc_result($req,"Nom");

essaie plutot

$Nom = odbc_result($res,"Nom");
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
et

while ( odbc_fetch_row($res) )
Messages postés
528
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009

Ca ne marche pas....
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
while ( $row=odbc_fetch_row($res) )
{
...

$Nom = odbc_result($res,$row,"Nom");
...
}

ça devrait être mieux, non ?
Messages postés
528
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
6 mars 2009

non, j'ai l'erreur : Warning: odbc_fetch_row(): supplied argument is not a valid ODBC result ressource in.... on line 27

Mon code donne maintenant ça :

<?php


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;


$requete = "SELECT * FROM $Annuaire ORDER BY Nom" ; // on sélectionne les enregistrements
$req = odbc_do($cnx, $requete);
$res = odbc_num_rows($req); // on compte le nombre de résultats


$modele = ("..\Annu\Modele.xls");
$fic = ("..\Annu\Annuaire.xls"); // le fichier doit déjà exister
copy($modele,$fic);
$file=fopen($fic,'r+'); //on ouvre le fichier


fputs($file,"Nom Prénom\t Société\t Service\t Numéro téléphone fixe\t Numéro abrégé téléphone fixe (Lafrançaise uniquement)\t Numéro de fax\t Numéro de portable\t Numéro abrégé de fixe à portable\t Adresse e-mail\t \n");


if (!$file) // erreur }
{
print("'$fic' n'existe pas!\n");
exit;
}

//while ( odbc_fetch_row($req) )
while ( $row=odbc_fetch_row($res) )
{
//on récupère les champs
$Nom = odbc_result($res,$row,"Nom");
$Societe = odbc_result($res,$row,"Societe");
$Service = odbc_result($res,$row,"Service");
$Fixe = odbc_result($res,$row,"Fixe");
$Fixe_abrege = odbc_result($res,$row,"Fixe_abrege");
$Fax = odbc_result($res,$row,"Fax");
$Portable = odbc_result($res,$row,"Portable");
$Abrege_fp = odbc_result($res,$row,"Abrege_fp");
$Mail = odbc_result($res,$row,"Mail");


//ecriture
fputs($file,"$Nom\t $Societe\t $Service\t $Fixe\t $Fixe_abrege\t $Fax\t $Portable\t $Abrege_fp\t $Mail\t \n"); //une tabulation \t pour changer de colonne et un retour chariot \n pour changer de ligne


}


header("Content-Type: application/force-download");
header("Content-disposition: attachment; filename=Annuaire.xls");
readfile("$fic");


?>
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
essaie ça

while ( $row=odbc_fetch_array($res) )