| |||||
| 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? |
| Aperçu |
|---|
| 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 | 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 :
|
| 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 |




