Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5536 connectés 

 


Dernière réponse
Sujet : php excel
bob2674 il n'y a pas un moyen poyur ouvrir excel alors?
et il faut que je mette pour chaque client à chque visite de page?

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
bob2674 il n'y a pas un moyen poyur ouvrir excel alors?
et il faut que je mette pour chaque client à chque visite de page?
Mara's dad Ben moi, il ouvre pas vraiement Excel, il ouvre une "feuille" excel dans la fenêtre d'IE.
IE 5.0
NT 4.0
EXCEL 2000
 
Pour l'ancien tableau, c'est un pb de cache.
J'ai essayé tous les headers possible, et autres META TAGS, IE veux rien savoir !
Donc, dans IE, j'ai mis comme option "A chaque visite de la page" !
Mais c'est pas une solution !
bob2674 en effet très bizarre merci pour ton explication
par contre normalement cela ne devrait pas ouvrir excel?
et j'ai un problème si je rappelle cette page avec un autre tableau il l'affiche que l'ancien
Mara's dad Explication complémentaire :
 
$i=2;  
echo( "<TD>$a[0][$i]</TD>" );  
ALORS, il fait : <TD>Array[2]</TD> ! ! !  
 
C'est à dire "<TD>" puis valeur de $a[0] qui est bien "Array" ($a[0] est un tableau), puis plus loin "[" puis la valeur de $i, soit "2" et enfin "]</TD>" ce qui fait bien <TD>Array[2]</TD>
Mara's dad Je viens de comprendre en faisant des essais !
 
si $a=array( "a", "b", array( "c, "d" ) );
 
Alors j'ai :
$a[0] = "a"
$a[1] = "b"
$a[2][0] = "c"
$a[2][1] = "d"
 
Ok jusque là !
 
Si je fais
$i=0;
echo( "<TD>$a[$i]</TD>" );
il fait bien : <TD>a</TD>
 
mais si je fais
$i=2;
echo( "<TD>$a[0][$i]</TD>" );
ALORS, il fait : <TD>Array[2]</TD> ! ! !
 
Conclusion :
Ecrit : $buff .= ("\t\t<TD>" . $monTableau[$i][$j] . "</TD>\n" );  
et : $buff .= ("\t\t<TD>" . $monTableau[$i][$j] . "</TD>\n" );  
   
Tordu le truc !
Un bug dans PHP ? ? ?
bob2674 dans cette page j'ai tt ce code et le tableau marche dans la première partie mais pas pour excel pourkoi?
 
/******************************************************************/
/*                    affichage du tableau                        */
/******************************************************************/
 
 
echo "<TABLE BORDER=$border cellspacing=$cellspacing align=$align>";
 
 
$champs= explode (",",$champs);
 
 
/***************************/
//Entete du tableau
 
echo "<TR bgcolor=$coul_tab_ent>";
foreach ($champs as $ele)
   {  
     echo "<TD><font color=$coul_font_1>";
     print ($tabcor[0][$ele]);
     echo"</font></TD>";
   }
echo "</TR>";
 
 
/***************************/
//Corps du tableau
   
$i=0;
while ($i < $nbligne)
  {
    if ($i%2)
      echo "<TR BGCOLOR=$coul_tab_1>";
    else
      echo "<TR bgcolor=$coul_tab_2>";
   
   
    $j=0;  
    while ($j < $nbcol)
      {
        if ($j%2)
           echo "<TD><FONT COLOR=$coul_font_1>";  
        else  
    echo "<TD><FONT COLOR=$coul_font_2>";  
 
        echo $monTableau[$i][$j];
        echo "</FONT></TD>";
    $j++;
      }
    echo "</TR>";
    $i++;
  }
 
// FIN DU TABLEAU
 
//echo "</table></body>";
echo "</table>";
?>  
 
 
 
 
<?
/******************************************************************/
/*          enregistrement du tableau au format excel             */
/*************************************************
*****************/
 
 
/***************************/
//Entete du tableau
$buff = ("<TABLE>\n" );
$buff .= ("\t<TR>\n" );
foreach ($champs as $ele)
  {  
    $buff .= ("\t\t<TD>$tabcor[0][$ele]</TD>\n" );
  }
$buff .= ("\t</TR>\n" );
 
 
/***************************/
//Corps du tableau
 
$i=0;
while ($i < $nbligne)
  {
    $buff .= ("\t<TR>\n" );  
    $j=0;  
    while ($j < $nbcol)
      {    
        $buff .= ("\t\t<TD>$monTableau[$i][$j]</TD>\n" );
    $j++;
      }
    $buff .= ("\t</TR>\n" );
    $i++;
  }
 
$buff .= ("</TABLE>\n" );
 
 
//Enregistrement du tableau
 
$f = fopen("toto.xls", "wb" );
if( fwrite( $f, $buff, strlen($buff)))
{
fclose( $f );
echo( "<a href=\"toto.xls\">Toto.xls</a>" );
}
else
echo "Problème d'écriture de fichier !";
 
?>
 
 
 
 
 
<?
 
echo "<FORM action='excel.php' method='post'>";
 
// affiche le bouton ok
echo "<BR>
      <INPUT type=SUBMIT VALUE='OK'> ";
echo "</FORM></body>";
?>
Mara's dad Alors, çà veux dire que t'as une dimension en plus dans tes tableaux $tabcor et $monTableau
 
Si tu remplace par :
$tabcor[0][$ele]["KNGC01.GCPHLFAC.GNUFAC"]
et
$monTableau[$i][$j][0]
 
Ca fait quoi ?
bob2674 au lieu de  
numéro facture  
1  
1  
1  
1
bob2674 cela me donne cela
Array[KNGC01.GCPHLFAC.GNUFAC]
Array[0]
Array[0]
Array[0]
Array[0]
Mara's dad

bob2674 a écrit a écrit :

bne j'arrive avec un tableau où il array[]
avec l'indice dans le tableau qui est bon  




Y'a un traducteur pour çà dans la salle ?

bob2674 bne j'arrive avec un tableau où il array[]
avec l'indice dans le tableau qui est bon
Mara's dad Ben c'est quoi le problème ?
 
Y'a un message d'erreur ?
 
Y se passe quoi ?
 
Met des echo() de temp en temp pour debugger...
bob2674 Qu'est ce qu'y va pas dans mon truc?
bob2674 up
bob2674 un petit probleme cela doit etre un pb de variable  
 
/***************************/
//Entete du tableau
$buff = ("<TABLE>\n" );
$buff .= ("\t<TR>\n" );
foreach ($champs as $ele)
  {  
    $buff .= ("\t\t<TD>$tabcor[0][$ele]</TD>\n" );
  }
$buff .= ("\t</TR>\n" );
 
 
/***************************/
//Corps du tableau
 
$i=0;
while ($i < $nbligne)
  {
    $buff .= ("\t<TR>\n" );  
    $j=0;  
    while ($j < $nbcol)
      {    
        $buff .= ("\t\t<TD>$monTableau[$i][$j]</TD>\n" );
    $j++;
      }
    $buff .= ("\t</TR>\n" );
    $i++;
  }
 
$buff .= ("</TABLE>\n" );
 
 
//Enregistrement du tableau
 
$f = fopen("toto.xls", "wb" );
if( fwrite( $f, $buff, strlen($buff)))
{
fclose( $f );
echo( "<a href=\"toto.xls\">Toto.xls</a>" );
}
else
echo "Problème d'écriture de fichier !";
 
?>
Mara's dad séquence valeur  
\n Nouvelle ligne (linefeed, LF ou 0x0A en ASCII)  
\r Retour à la ligne(carriage return, CR ou 0x0D en ASCII)  
\t Tabulation horizontale (HT ou 0x09 en ASCII)  
\\ Antislash  
\$ Caractère $  
\" Guillemet double  
\[0-7]{1,3} Une séquence de caractère qui permet de rechercher un nombre en notation octale.  
\x[0-9A-Fa-f]{1,2} Une séquence de caractère qui permet de rechercher un nombre en notation hexadécimale.  
 
VOLA SKE CA FEZ !
 
Non, mais franchement, vous trouvez pas que c'est chiant à lire cette façon d'écrire !
Z'avez pu 8 ans !
 
Faites un peu gaffe quand même ! Ayez un peu de respect pour ceux qui vous lisent, surtout si c'est pour vous aider !
 
ONNESTPASSURBLABLA!
_naoua le \t représente la tabulation, et il me semble que le \n et le retour chariot. je crois qu'il se code de plusieurs façon( \n, \r\n, \r)...
A qqchose près çà doit être çà...
bob2674 cela fti koi lezs \t et les \n
bob2674 cela fti koi lezs \t et les \n
bob2674 merci
Mara's dad EXEMPLE :

Code :
  1. <?php
  2. $buff = ("<TABLE>\n" );
  3. $buff .= ("\t<TR>\n" );
  4. $buff .= ("\t\t<TD>Nom</TD>\n" );
  5. $buff .= ("\t\t<TD>Prenom</TD>\n" );
  6. $buff .= ("\t\t<TD>age</TD>\n" );
  7. $buff .= ("\t</TR>\n" );
  8. $buff .= ("\t<TR>\n" );
  9. $buff .= ("\t\t<TD>TOTO</TD>\n" );
  10. $buff .= ("\t\t<TD>titi</TD>\n" );
  11. $buff .= ("\t\t<TD>10</TD>\n" );
  12. $buff .= ("\t</TR>\n" );
  13. $buff .= ("\t<TR>\n" );
  14. $buff .= ("\t\t<TD>TOTO</TD>\n" );
  15. $buff .= ("\t\t<TD>tata</TD>\n" );
  16. $buff .= ("\t\t<TD>21</TD>\n" );
  17. $buff .= ("\t</TR>\n" );
  18. $buff .= ("\t<TR>\n" );
  19. $buff .= ("\t\t<TD>TUTU</TD>\n" );
  20. $buff .= ("\t\t<TD>tati</TD>\n" );
  21. $buff .= ("\t\t<TD>15</TD>\n" );
  22. $buff .= ("\t</TR>\n" );
  23. $buff .= ("</TABLE>\n" );
  24. $f = fopen("toto.xls", "wb" );
  25. if( fwrite( $f, $buff, strlen($buff)))
  26. {
  27. fclose( $f );
  28. echo( "<a href=\"toto.xls\">Toto.xls</a>" );
  29. }
  30. else
  31. echo "Problème d'écriture de fichier !";
  32. ?>


 
Si tu clique sur le lien Toto.xls, dans IE, il téléchage le fichier et l'ouvre dans une fenêtre EXCEL ! ! !

bob2674 j'ai creer un tableau html masi avec du php il ya une possibilité de faire quelque chose?
Mara's dad tulouvreavacexcel
bob2674 et après ton tableau html tu fais koi?
Mara's dad Rappel, PHP tourne sur le serveur !  :sarcastic:  
Excel tourne sur le client !  :crazy:  
 
C'est donc pas un PB PHP, voir plutot coté javascript pour ouvrir EXCEL.  :pt1cable:  
 
Pour générer quelquechose de compréhensible par excel, génère un document HTML contenant un tableau HTML. Si cet pas trop compliqué, çà devrait passer pas trop mal  ;)
bob2674 Comment peut-on faire pour passer d'un tableau ss php en une table excel
enfin que l'on puisse lire facilement sous excel
 
et est-il possible de lancer depuis php excel et qu'il ouvre ce tableau pour l'utiliser sous excel

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)