Bonjour,
merci pour cet agréable outil, je voudrais savoir comment réussir à se connecter à une base de données pour exécuter des requêtes SQL, pour pouvoir insérer le résultat de la requête dans le fichier excel??
Bonjour,
merci pour cet agréable outil, je voudrais savoir comment réussir à se connecter à une base de données pour exécuter des requêtes SQL, pour pouvoir insérer le résultat de la requête dans le fichier excel??
Puis-je avoir un début de test pour pouvoir vous aider.
Une petite requête sql histoire de pouvoir étayer mes propos afin de vous faciliter la compréhension
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
tout d'abord j'ouvre une page excel(repport.xls) dans laquelle je veux rajouter des informations venant d'une requête SQL.
la requête est la suivante:
je veux l'insérer dans('J5'), j'ai essayé ca mais ca marche pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $query = SELECT nom, numero, datedenaissance from fournisseur where numero='".safestring($num)."'; $res = executeRequest($query); $row = mysql_fetch_array($res);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $objReader = PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load("repport.xls"); $objPHPExcel->getActiveSheet()->setCellValue('J5', ".$row['numero']."); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('repport2.xls'); header('Content-type: application/vnd.ms-excel'); header('Content-Disposition:inline;filename= repport2.xls '); $objWriter->save('php://output');
Il suffit alors de réaliser une boucle au départ de votre requête SQL, et d'identifier vos cellule excel par leurs emplacement et non par leur noms
dite moi si cela vous aide ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //A1 se trouve en position 0,0 //j5 se trouve en position 9,4 $i=4; while($row = mysql_fetch_array($res)){ $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9,$i, ".$row['numero']."); //on incrémente pour le passage à la cellule suivante $i++; }
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
j'ai cette erreur:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' on line 25
ligne 25 c'est:
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9,$i, ".$row['projectcode'].");
essayez ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9,$i, $row['projectcode']);
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
ca m'affiche une page avec des caractères bizarre:
ÐÏࡱá;þÿ þÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ »
ÌÑB°=¼%r8X"1ÈArial1*Arial1*¼Arial1*Arial1x¼Arial1T
¼Arialàõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Ààõÿ Àà Àà1 Ìà1 Äà#Èà Èà1 ìà àà1üà1üà1ü à1ü à1üà1üà1üà1üà1ü à1ü à1ü à1ü à1üà1üà1üà1üà1#Ìà Àà1 Ìà1 Äà1 Ìà!Èà!À“€ÿ’â8ÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€ÀÀÀ€€€™™ÿ™3fÿÿÌÌÿÿffÿ€€fÌÌÌÿ€ÿÿÿÿÿÿ€€€€€ÿÌÿÌÿÿÌÿÌÿÿ™™Ìÿÿ™ÌÌ™ÿÿÌ™3fÿ3ÌÌ™ÌÿÌÿ™ÿfff™–––3f3™f333™3™3f33™333…+
ReportÁÁgæ®üÍ:PROJECT NAME / NUMBER::*ADDENDUM / MODIFICATION OF NAME:SUPPLIER NAME
reprenons depuis le début , est-ce que ceci fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel5.php'; $workbook = new PHPExcel; $sheet = $workbook->getActiveSheet(); $sheet->setCellValue('A1','MaitrePylos'); $writer = new PHPExcel_Writer_Excel5($workbook); $writer->save('php://output');
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
je viens d'essayer votre code mais ca ne marche pas ca m'affiche des caractères bizarre:
ÐÏࡱá;þÿ þÿÿÿþÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ » ÌÑB°=¼%r8X"1ÜCalibriàõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À à À “€ÿ’â8ÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€ÀÀÀ€€€™™ÿ™3fÿÿÌÌÿÿffÿ€€fÌÌÌÿ€ÿÿÿÿÿÿ€€€€€ÿÌÿÌÿÿÌÿÌÿÿ™™Ìÿÿ™ÌÌ™ÿÿÌ™3fÿ3ÌÌ™ÌÿÌÿ™ÿfff™–––
tenter d'enregistrer le ficheir plutôt que de l'ouvrir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $writer->save('test.xls');
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
aprés l'enregisrement oui ca marche mais moi je dois l'afficher directement sans avoir a l'enregistrer
une autre question: quand je mets:
ca me rempli juste une ligne mais dans ma base j'ai plusieurs ligne, comment pourrais je faire pour afficher tous?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, $j, $numéro);
cfr plus haut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //A1 se trouve en position 0,0 //j5 se trouve en position 9,4 $i=4; while($row = mysql_fetch_array($res)){ $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9,$i, ".$row['numero']."); //on incrémente pour le passage à la cellule suivante $i++; }
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
Cela sous entend que tu as régler tes problèmes de caractères ?
je vois maintenant que tu utilises la variable $sheet
as-tu bien fait ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $sheet = $objPHPExcel->getActiveSheet();
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
Merci beaucoup pour votre aide.
Non Non je les ai toujours pas réglé, j'étais juste entrain d'essayé pour les couleurs. après enregistrement tout s'affiche très bien mais le problème c'est qu'on me demande d'afficher le fichier directement sans avoir a l'enregistrer et je ne sais vraiment pas comment faire
êtes vous sûr qu'il n'y a pas de caractères blanc qui passe au moment de la génération de votre script ?
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
Il me semble que votre contient une ou deux erreurs de conception, mais je vais m'en tenir au fichier Excel.
Si vous faites ceci
Alors vous pouvez vous simplifiez la vie et écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $sheet = $objPHPExcel->getActiveSheet();
dans votre code la balise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $sheet->setCellValueByColumnAndRow(9,$i, $rowHead['projectcode']); //au lieu de $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9,$i, $rowHead['projectcode']);
est quelque lignes plus bas, est-ce aussi le cas dans votre fichier? si oui, supprimer ces espaces
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php
plus bas dans le code, vous utilisez des balises HTML
a remplacer par
Code : Sélectionner tout - Visualiser dans une fenêtre à part <br>
et pour que le passage à la ligne ce fasse , il faut activer dans la celulle le mode 'wrap', voir mon tuto.
Code : Sélectionner tout - Visualiser dans une fenêtre à part "\n"
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde
Mes Articles/Critiques :
Merise - Guide pratique
PHPExcel
PostgreSQL : Administration et exploitation d'une base de données
PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle
Malheureusement ca ne change rien du tout.
J'ai exactement le même problème,
à l'ouverture du xls sur navigateur => problème de caractères
en sauvegardant => ca marche niquel.
edit : il semblerait que l'erreur soit le fait qu'il y est du html avant.
Salut Te-san alors tu as pu régler ton problème si oui, commet as tu fait car j'ai toujours le même problème moi.
Mon problème était qu'il y avait du code html avant le code php.
J'ai simplement fait un lien qui ne renvoyait aucun html, (simplement la page contenant le code php).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager