first commit
This commit is contained in:
103
admin/rangliste2_excel.php
Executable file
103
admin/rangliste2_excel.php
Executable file
@ -0,0 +1,103 @@
|
||||
<?php
|
||||
|
||||
require_once "../phpspreadsheet_1.8.1.0/vendor/autoload.php";
|
||||
require_once("../config.inc.php");
|
||||
|
||||
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
||||
|
||||
$spreadsheet = new Spreadsheet();
|
||||
#$spreadsheet->getActiveSheet()->getPageSetup()->setFitToWidth(1);
|
||||
#$spreadsheet->getActiveSheet()->getPageSetup()->setFitToHeight(0);
|
||||
|
||||
$activeSheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
$activeSheet->getStyle('A1:G1')->applyFromArray(
|
||||
array(
|
||||
'font' => array(
|
||||
'bold' => true
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
$activeSheet->setCellValue('A1', 'Ranglistenplatz');
|
||||
$activeSheet->setCellValue('B1', 'Vorname');
|
||||
$activeSheet->setCellValue('C1', 'Nachname');
|
||||
$activeSheet->setCellValue('D1', 'Mail');
|
||||
$activeSheet->setCellValue('E1', 'ID');
|
||||
$activeSheet->setCellValue('F1', 'Testdatum');
|
||||
$activeSheet->setCellValue('G1', 'Ergebnis');
|
||||
$activeSheet->freezePane('H2');
|
||||
|
||||
$query = $db->query("SELECT a.ka_id, vorname, nachname, date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, CASE tm_standort
|
||||
WHEN 'L' THEN 'Ludwigsburg'
|
||||
WHEN 'K' THEN 'Kehl'
|
||||
ELSE '' END as tm_standort
|
||||
, summe
|
||||
, id
|
||||
, mail
|
||||
FROM dvm_kandidat a, dvm_term_kand b, dvm_termine c, dvm_ergebnisse d, dvm_tanpool e
|
||||
WHERE a.ka_id = b.ka_id
|
||||
AND b.tm_id = c.tm_id
|
||||
AND a.ka_id = d.ka_id
|
||||
AND b.tp_id = e.tp_id
|
||||
AND a.ka_id IN (SELECT distinct ka_id FROM dvm_ergebnisse)
|
||||
AND a.ka_id IN (SELECT distinct ka_id FROM dvm_upload WHERE upload_dat != '0000-00-00 00:00:00')
|
||||
AND d.bestanden = '1'
|
||||
AND e.tan=d.tan
|
||||
ORDER BY summe DESC, nachname ASC, vorname ASC
|
||||
");
|
||||
|
||||
if($query->num_rows > 0) {
|
||||
$i = 2;
|
||||
$rangliste = 0;
|
||||
$lfd_nr2 = 0;
|
||||
$lfd_nr3 = 0;
|
||||
$summevorher = 0;
|
||||
|
||||
while($row = $query->fetch_assoc()) {
|
||||
|
||||
$lfd_nr2++;
|
||||
|
||||
$summe = $row['summe'];
|
||||
if($summe == $summevorher){
|
||||
$rangliste = $lfd_nr3;
|
||||
}else{
|
||||
$rangliste = $lfd_nr2;
|
||||
$lfd_nr3 = $lfd_nr2;
|
||||
}
|
||||
$summevorher = $row['summe'];
|
||||
|
||||
$activeSheet->setCellValue('A'.$i , $rangliste);
|
||||
$activeSheet->setCellValue('B'.$i , $row['nachname']);
|
||||
$activeSheet->setCellValue('C'.$i , $row['vorname']);
|
||||
$activeSheet->setCellValue('D'.$i , $row['mail']);
|
||||
$activeSheet->setCellValue('E'.$i , $row['id']);
|
||||
$activeSheet->setCellValue('F'.$i , "$row[tm_datum] ($row[tm_standort])");
|
||||
$activeSheet->setCellValue('G'.$i , $row['summe']);
|
||||
$i++;
|
||||
}
|
||||
|
||||
}
|
||||
$spreadsheet->getActiveSheet()->setTitle("Rangliste 2");
|
||||
$spreadsheet->getActiveSheet()->setSelectedCell('A1');
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);
|
||||
$spreadsheet->getActiveSheet()->getColumnDimension('G')->setAutoSize(true);
|
||||
|
||||
$writer = new Xlsx($spreadsheet);
|
||||
$filename = 'Rangliste2.xlsx';
|
||||
|
||||
header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
||||
header('Content-Disposition: attachment;filename='. $filename);
|
||||
header('Cache-Control: max-age=0');
|
||||
$writer->save('php://output');
|
||||
|
||||
?>
|
Reference in New Issue
Block a user