%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/alliance/domains/sedl.alnetis.fr/public_html/
Upload File :
Create Path :
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');
}

Zerion Mini Shell 1.0