J'ai un tableau multidimensionnel PHP dont j'ai besoin sélectivement Imprimez à Excel écrivain. J'ai quelque chose comme ça:
array(2) {
[10227]=>
array(9) {
["user"]=>
string(5) "10227"
["talk_time"]=>
string(1) "8"
["acw"]=>
string(1) "0"
["idle"]=>
string(1) "6"
}
[10236]=>
array(9) {
["user"]=>
string(5) "10236"
["talk_time"]=>
string(2) "10"
["acw"]=>
string(1) "3"
["idle"]=>
string(1) "0"
}
}
Et dans Excel, j'en ai besoin pour ressembler un peu à ceci:
User | talk_time | acw | idle
10227 | 8 | 0 | 6
10236 | 10 | 3 | 0
Je pense que je peux gérer «l'écriture» pour exceller, mais je n'arrive pas à obtenir le PHP pour écrire sélectivement la valeur pour chaque champ où et comment je le veux. J'ai beaucoup lu et j'ai essayé beaucoup de choses, je pense que la réponse serait d'utiliser deux boucles Forach pour le tableau «initial» et une autre pour le deuxième tableau de dimension, mais pour une raison quelconque, je ne peux pas le faire fonctionner. J'ai également essayé d'utiliser «l'extrait» mais ça ne s'est pas trop bien passé ... Je ne suis pas un programmeur PHP «formé». Google a été mon université (et Stackoverflow ma faculté) et bien que je n'aie pas trop de mal à travailler avec les tableaux ..., le monde augmente avec des tableaux multidimensionnels ...
Toute aide serait grandement appréciée.
Merci!
----- Modifier ----- OK, je n'ai pas besoin de la fonctionnalité «Exporter vers Excel», je peux gérer cela une fois que je peux attribuer la valeur du tableau à une variable.
Je fais actuellement ceci:
foreach ($agents as $row){
$USER=$row["user"];
echo "$USER\n";
foreach($row as $col){
$TALK_SEC=$col["talk_sec"];
}
}
Mais tout ce que je reçois c'est
1023610236102361023610236102361023610236102361023610236102361023610236102361023610236102361023610236102361023610236
qui est mon premier agent (je limite ma requête à 1-limite 1-) fois 24 fois. Si j'ajoute un écho à $TALK_SEC
, J'obtiendrais le premier numéro de chacun des trois quatre champs que je demande à peu près les temps que l'agent 24 fois sur l'agent sera «craché» ...
Modification finale et réponse
J'ai pu le faire fonctionner en utilisant en fait une seule déclaration FOREEAC:
foreach ($agents as $row){
//VAR_DUMP($row);
$USER=$row['user'];
$TALK=$row['talk_time'];
$ACW=$row['acw'];
$IDLE=$row['idle'];
Maintenant, tout ce que j'ai à faire est d'imprimer les noms de variables ($USER
, $TALK
, etc ...) Dans la feuille de calcul avec laquelle j'ai déjà créé PEAR::EXCEL_WRITER
. Bien sûr, vous devez créer une boucle pour itérer sur les différents $USERS
que votre requête sortira.