insertion de lignes de sortie sql sur file excel

J'ai 150 lignes et 40 colonnes dans une table sql. Je montre la table entière dans une page Web. Maintenant, ce que je veux faire, c'est créer un lien sur cette page Web qui prendra toute la table et insérez-la dans un file excel (ne signifie pas s'il crée un nouveau file Excel ou modifie la sum en exisant) … maintenant je peux le faire manuellement en utilisant (bibliothèque PHPExcel), "objPHPExcel-> setCellValue ('C5', $ v ) "… mais je devrais écrire cela comme 40 fois (changer la variable '$ v' dans toutes les statuts) et c'est dans une boucle qui fonctionnera 150 fois … par conséquent, je ne veux pas le faire de cette façon …

maintenant, je voulais savoir si je peux insert la table, rangée par rangée dans la feuille d'excel .. tout comme lorsque j'insère une ligne, elle insère les cellules entières de la rangée d … de cette façon, ce sera assez facile … moi aussi voulait savoir s'il y avait des commands spécifiques pour faire cela …

sinon, d'autres alternatives, je dois faire cela … tout ce que je veux faire, c'est d'exporter toute la table sql vers un file Excel en utilisant php ..

Donc, utilisez la méthode fromArray() que PHPExcel fournit de manière idéale qui vous permet d'écrire une ligne entière ou un bloc entier de cellules dans un appel d'un tableau.

Regarder les exemples et lire la documentation aide toujours

Note supplémentaire

Incidemment, $objPHPExcel->setCellValue('C5', $v) ne fonctionnera que si $objPHPExcel est une feuille de calcul, la plupart des exemples utilisent $ objPHPExcel pour le classur (c.-à-d. La collecte des feuilles de travail), ne vous confondez pas

MODIFIER

Pour récupérer les résultats de votre database, utilisez

 sqlsrv_fetch_array($tsql, SQLSRV_FETCH_ASSOC) 

ou

 sqlsrv_fetch_array($tsql, SQLSRV_FETCH_NUMERIC) 

EDIT 2

Vérifiez la façon dont la database est configurée pour gérer les returns NULL; mais en utilisant

 $objPHPExcel->getActiveSheet()->fromArray($rows, 0, 'A'.$rowCNT); 

devrait définir toutes les valeurs NULL du résultat de la database à 0 valeur dans PHPExcel

Le moyen le plus simple est d'exporter un file .csv, qui peut également être lu par excel. Tout ce que vous avez à faire est de créer cette page:

 <? header("Content-type: application/csv"); header("Content-Disposition: attachment; filename=file.csv"); header("Pragma: no-cache"); header("Expires: 0"); $link = mysql_connect('db', 'dblogin', 'dbpasswd'); @mysql_select_db('dbname') or die( "Unable to select database"); $query=mysql_query("SELECT * FROM whatever"); $j=0; $nbField = mysql_num_fields($query); while ($j < $nbField) { echo mysql_field_name($query,$j).";"; $j++; } echo "\n"; while ($row = mysql_fetch_array($query, MYSQL_NUM)) { echo implode(";", $row)."\n"; } ?> 

Ensuite, vous insérez un lien qui pointe directement vers cette page php, il downloada le file csv.