[RESOLU] Excel php

Eléphant du PHP | 115 Messages

02 févr. 2016, 11:36

Bonjour,

Je rencontre un problème sur le réalisation d'un fichier Excel.
Les donnée provienne de la BDD Myql.

Je réalise unE recherche via unE page .php et le résultat sous forme de table comporte plusieurs données, avec la possibilité d'extraire ce table sous forme d'un fichier Excel.

Code : Tout sélectionner

.... $spreadsheet = new PHPExcel(); $spreadsheet->setActiveSheetIndex(0); $worksheet = $spreadsheet->getActiveSheet(); $default_border = array( 'style' => PHPExcel_Style_Border::BORDER_THIN, 'color' => array('rgb'=>'1006A3') ); $style_header = array( 'borders' => array( 'bottom' => $default_border, 'left' => $default_border, 'top' => $default_border, 'right' => $default_border, ), 'fill' => array( 'type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('rgb'=>'C6C6C7'), ), 'font' => array( 'bold' => true, ) ); $style_header1 = array( 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN ) ) ); $currencyFormat = '#,#0.## \€;[Red]-#,#0.## \€'; $numberFormat = '#,#0.##;[Red]-#,#0.##'; $worksheet->getStyle('A1:J1')->applyFromArray( $style_header ); $worksheet->getStyle('A1:J9')->applyFromArray( $style_header1 ); $worksheet->getStyle('A1:J9')->getAlignment()->applyFromArray(array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,)); $worksheet->getColumnDimensionByColumn(0)->setWidth(20); $worksheet->SetCellValueByColumnAndRow(0, 1, 'Réf. Acquéreur'); $worksheet->SetCellValueByColumnAndRow(0, 2, ''. $donnees['name'] . ' '. $donnees['firstname'] . ''); $worksheet->getColumnDimensionByColumn(1)->setWidth(20); $worksheet->getStyle('B2:B100')->getNumberFormat()->setFormatCode($currencyFormat); $worksheet->getColumnDimensionByColumn(2)->setWidth(20); $worksheet->SetCellValueByColumnAndRow(2, 1, 'Source'); $worksheet->SetCellValueByColumnAndRow(2, 2, ''. $donnees['sources'] . ''); $worksheet->getColumnDimensionByColumn(9)->setWidth(20); $worksheet->SetCellValueByColumnAndRow(9, 1, 'Qualité'); $worksheet->SetCellValueByColumnAndRow(9, 2, ''. $donnees['good_quality'] . ''); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="PROPOSITION AUTOMATIQUE POUR LE PRODUIT DV-'.$donnees['nb_rooms'] .''. $_GET['id'] .'.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = new PHPExcel_Writer_Excel2007($spreadsheet); $objWriter->save('php://output'); ?> <?php } $reponse->closeCursor(); ?>
Mais quant le fichier .xlsx est générer je me retrouve avec un seul ligne, la dernière.
je pense que je dois faire une boucle (foreach) mais je n'arrive pas, ou le tableau est vide, ou il y a une seul donnée.

Merci de votre aide,

Eléphant du PHP | 134 Messages

02 févr. 2016, 12:08

Bonjour, si tu essaye

Code : Tout sélectionner

$spreadsheet->affiche('Excel','monexcel');
tu as quoi ?

Eléphant du PHP | 115 Messages

02 févr. 2016, 12:32

Bonjour WENKz,

Merci de ton aide mais cela ne donne rien.
Je cherche a extraire dans un fichier Excel, une liste d'un résultat de recherche via une requête mysql.

Mais j'ai qu'une seul ligne sur 30.
Merci à toi,

Eléphant du PHP | 115 Messages

02 févr. 2016, 13:26

Je bloque pouvez-vous m'aider,

Merci à vous,