%PDF- %PDF-
Direktori : /home/alliance/domains/sedl.alnetis.fr/public_html/ |
Current File : /home/alliance/domains/sedl.alnetis.fr/public_html/export.php |
<?php include_once("inc/config.php"); include_once("inc/functions.php"); include_once("inc/session.php"); include_once("inc/init.php"); $output="direct"; verif_co_admin(); require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; $partnerform2 = new PartnerForm2($connection); $ed=$_SESSION['edition_admin']; $results = $partnerform2->liste_forms($ed, false, false, false, 0, false); $query="SELECT sl.titre,c.name as pays,p.* FROM `partnerform2` p LEFT JOIN section s ON s.id=p.section LEFT JOIN section_lang sl ON sl.section=p.section AND sl.lang=p.lang LEFT JOIN country_lang c ON c.country=s.pays AND c.lang=p.lang WHERE edition=".$ed; $results = $bd->select_arrays($query); // Créer un nouvel objet Spreadsheet $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setTitle('export'); // Écrire les données dans la feuille de calcul $row = 1; $col = 1; $entete=array( "Section", "Pays", "skip", "skip", "skip", "skip", "Statut", "Date", "skip", "skip", "skip", "Maire", "Adresse", "skip", "Site Web", "Facebook", "Twitter", "skip", "Personne de contact", "skip", "Fonction", "Téléphone", "Email", ); for($i=1;$i<11;$i++){ $entete[]=strip_tags($admtext->getText("partnerform_question".$i,$_SESSION['lang'])); } $entete[]="Impact"; $entete[]="Anciennes Editions SEDL"; $entete[]="Monnaie"; $entete[]="Budget"; foreach($entete as $value) { if($value!="skip"){ $sheet->setCellValueByColumnAndRow($col, $row, $value); $col++; } } /*foreach($results[0] as $column_name=>$value) { if($column_name!="datemodif" && $column_name!="active" && $column_name!="daterelance" && $column_name!="urgent"){ $sheet->setCellValueByColumnAndRow($col, $row, $column_name); $col++; } }*/ $row++; foreach ($results as $row_data) { $col = 1; foreach ($row_data as $column_name=>$value) { if($column_name!="id" && $column_name!="section" && $column_name!="edition" && $column_name!="lang" && $column_name!="photo1" && $column_name!="photo2" && $column_name!="photo3" && $column_name!="country" && $column_name!="editionspart" && $column_name!="name" ){ if($column_name=="date" || $column_name=="dateretour"){ if($value!=0){ $value=date("d/m/Y",$value); } else{ $value=""; } } elseif($column_name=="id_demande"){ $value=str_pad($value,6, "0", STR_PAD_LEFT); } elseif($column_name=="id_user"){ if($value==0){ $value=""; } else{ $value=$tab_user[$value]['prenom'].' '.$tab_user[$value]['nom']; } } elseif($column_name=="id_canal"){ if($value==0){ $value=""; } else{ $value=$tab_canal[$value]['nom']; } } elseif($column_name=="submitted"){ if($value==0){ $value="Brouillon"; } else{ $value="Soumis"; } } elseif($column_name=="id_contact"){ if($value==0){ $value=""; } else{ $value=$tab_contact[$value]['nom']; } } elseif($column_name=="id_typedemande"){ if($value==0){ $value=""; } else{ $value=$tab_type[$value]['nom']; } } elseif($column_name=="id_commune"){ if($value==0){ $value=""; } else{ $value=$tab_commune[$value]['nom']; } } elseif($column_name=="id_fai"){ if($value==0){ $value=""; } else{ $value=$tab_fai[$value]['nom']; } } else{ $value = str_replace('<br>', "\n", strip_tags(br2nl($value))); } $sheet->setCellValueByColumnAndRow($col, $row, $value); if($column_name=="description"){ $cell = $sheet->getCellByColumnAndRow($col, $row); $style = $cell->getStyle(); $alignment = $style->getAlignment(); $alignment->setWrapText(true); } $col++; } } $cell = $sheet->getCellByColumnAndRow($col, $row); $style = $cell->getStyle(); $alignment = $style->getAlignment(); $alignment->setWrapText(true); $col++; $row++; } $cases_auto=array("N","O","P","Q","R","S","T","U","V","W"); foreach ($sheet->getColumnIterator() as $column) { if(!in_array($column->getColumnIndex(),$cases_auto )){ $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true); } } foreach($cases_auto as $case){ $sheet->getColumnDimension($case)->setWidth(100); foreach ($sheet->getRowIterator() as $row) { $cellN = $sheet->getCell($case."".$row->getRowIndex()); $style = $cellN->getStyle(); $alignment = $style->getAlignment(); $alignment->setWrapText(true); $rowDimension = $sheet->getRowDimension($row->getRowIndex()); $rowDimension->setRowHeight(-1); } } $from = "A1"; // or any value $to = "AA1"; // or any value $sheet->getStyle("$from:$to")->getFont()->setBold( true ); /*foreach ($sheet->getRowIterator() as $row) { $cellQ = $sheet->getCell('Q'.$row->getRowIndex()); $style = $cellQ->getStyle(); $alignment = $style->getAlignment(); $alignment->setWrapText(true); $rowDimension = $sheet->getRowDimension($row->getRowIndex()); $rowDimension->setRowHeight(-1); } foreach ($sheet->getRowIterator() as $row) { $cellQ = $sheet->getCell('W'.$row->getRowIndex()); $style = $cellQ->getStyle(); $alignment = $style->getAlignment(); $alignment->setWrapText(true); $rowDimension = $sheet->getRowDimension($row->getRowIndex()); $rowDimension->setRowHeight(-1); }*/ // Créer un objet Writer pour sauvegarder le fichier Excel $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); if($output=="fichier"){ $writer->save('export.xlsx'); echo "Fichier Excel généré avec succès !"; } else{ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="export.xlsx"'); header('Cache-Control: max-age=0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); // Écrire le contenu du fichier Excel dans le flux de sortie $writer->save('php://output'); }