TransWar File Browser

Path: C:\

<?php
date_default_timezone_set('America/Sao_Paulo');
$dateadded = date("Ymd"); 
ini_set('max_execution_time',1200); 
ini_set ('memory_limit','8095M') ;
function DifData($x2, $x1){
    $aa2=substr($x2, 6,4);
    $mm2=substr($x2, 3,2);
    $dd2=substr($x2, 0,2);
    $hr2=substr($x2, 11,8);
    $dt2=$aa2.'-'.$mm2.'-'.$dd2.' '.$hr2;
    $aa1=substr($x1, 6,4);
    $mm1=substr($x1, 3,2);
    $dd1=substr($x1, 0,2);
    $hr1=substr($x1, 11,8);
    $dt1=$aa1.'-'.$mm1.'-'.$dd1.' '.$hr1;
    $dateStart = new \DateTime($dt2);
    $dateNow   = new \DateTime($dt1);
    $dateDiff = $dateStart->diff($dateNow);
    $result = ($dateDiff->d*24*60)+($dateDiff->h*60)+$dateDiff->i;
    return round(($result/1440),2);
}
function val($x){
    $aa=substr($x, 6,4);
    $mm=substr($x, 3,2);
    $dd=substr($x, 0,2);
    $dt=$aa.$mm.$dd;
    if($dt>='20240409'){$vl=1320;}
    else{$vl=1200;}
    return $vl;
}
$lines = file('Excel/horaparada.csv');
$lin=count($lines);
$arqxlsx="Excel/BRAINFARMA (Hora Parada).xlsx";
require '../vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
/* Set CSV parsing options */
$reader->setDelimiter(',');
$reader->setEnclosure('"');
$reader->setSheetIndex(0);
/* Load a CSV file and save as a XLS */
$spreadsheet = $reader->load("Excel/horaparada.csv");
$writer = new Xlsx($spreadsheet);
$spreadsheet->getActiveSheet()->setTitle('RESUMO HORA PARADA');
$lin1=$lin+1;
$styleArray3 = [
    'borders' => [
        'allBorders' => [
            'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
            'color' => ['argb' => '000000'],
        ],
    ],
];
$format1 = 'R$  #,##0.00';
$format2 = 'dd/mm/yyyy hh:mm';
//$format3 = '[h]:mm';
$spreadsheet->getActiveSheet()->getRowDimension('1')->setRowHeight(30);
$spreadsheet->getActiveSheet()->getStyle('A1:N'.$lin)->applyFromArray($styleArray3);
$spreadsheet->getActiveSheet()->getStyle('k'.$lin1.':L'.$lin1)->applyFromArray($styleArray3);
$spreadsheet->getActiveSheet()->getStyle('a1:N1')->getFont()->setSize(20);
$spreadsheet->getActiveSheet()->getStyle('a2:N2')->getFont()->setSize(11);
$spreadsheet->getActiveSheet()->getStyle('a1:N2')->getFont()->setBold(true);
$spreadsheet->getActiveSheet()->getCell('K'.$lin1)->setValue('TOTAL:');
$spreadsheet->getActiveSheet()->getCell('L'.$lin1)->setValue('=SUM(L3:L'.$lin.')');
$spreadsheet->getActiveSheet()->mergeCells('A1:N1');
$spreadsheet->getActiveSheet()->getStyle('k3:k'.$lin1)->getNumberFormat()->setFormatCode($format1);
$spreadsheet->getActiveSheet()->getStyle('L3:L'.$lin1)->getNumberFormat()->setFormatCode($format1);
$spreadsheet->getActiveSheet()->getStyle('I3:j'.$lin)->getNumberFormat()
    ->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_00);
$spreadsheet->getActiveSheet()->getStyle('F3:H'.$lin)->getNumberFormat()->setFormatCode($format2);
//$spreadsheet->getActiveSheet()->getStyle('I3:I'.$lin)->getNumberFormat()->setFormatCode($format3);
for ($c=3; $c <= $lin; $c++) 
  {  
    $dia1=$spreadsheet->getActiveSheet()->getCellByColumnAndRow(8,$c)->getValue();
    $dia2=$spreadsheet->getActiveSheet()->getCellByColumnAndRow(7,$c)->getValue();
    $dif_data=DifData($dia2,$dia1); 
    $spreadsheet->getActiveSheet()->setCellValue('i'.$c,'='.$dif_data);
    //$spreadsheet->getActiveSheet()->setCellValue('I'.$c,'=H'.$c.'-G'.$c);
    //$spreadsheet->getActiveSheet()->getCell('I'.$c)->getOldCalculatedValue();
    $spreadsheet->getActiveSheet()->setCellValue('j'.$c,'=if(I'.$c.'<1,0,I'.$c.'-1)');
    $sai=$spreadsheet->getActiveSheet()->getCellByColumnAndRow(7,$c)->getValue();
    $val=val($sai);
    $spreadsheet->getActiveSheet()->getCell('K'.$c)->setValue($val);
    $spreadsheet->getActiveSheet()->setCellValue('l'.$c,'=if(m'.$c.'="indeferido",0,j'.$c.'*K'.$c.'/0.93)');
  }
$spreadsheet->getActiveSheet()->getStyle('K'.$lin1.':L'.$lin1)->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()->setARGB('F7FE2E');
$spreadsheet->getActiveSheet()->getStyle('A1:N2')->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()->setARGB('A6A6A6');
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$spreadsheet->getActiveSheet()->getColumnDimension('C')->setWidth(10);
$spreadsheet->getActiveSheet()->getColumnDimension('D')->setWidth(10);
$spreadsheet->getActiveSheet()->getColumnDimension('E')->setWidth(10);
$spreadsheet->getActiveSheet()->getColumnDimension('F')->setWidth(15);
$spreadsheet->getActiveSheet()->getColumnDimension('G')->setWidth(20);
$spreadsheet->getActiveSheet()->getColumnDimension('H')->setWidth(20);
$spreadsheet->getActiveSheet()->getColumnDimension('I')->setWidth(14);
$spreadsheet->getActiveSheet()->getColumnDimension('j')->setWidth(18);
$spreadsheet->getActiveSheet()->getColumnDimension('k')->setWidth(13);
$spreadsheet->getActiveSheet()->getColumnDimension('l')->setWidth(20);
$spreadsheet->getActiveSheet()->getColumnDimension('m')->setWidth(30);
$spreadsheet->getActiveSheet()->getColumnDimension('n')->setWidth(7);
$spreadsheet->getActiveSheet()->getStyle('A1:N2')
    ->getAlignment()->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('A1:N2')
    ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('A3:j'.$lin1)
    ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('m3:N'.$lin1)
    ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('A1:N2')->getAlignment()->setWrapText(true);

$writer->save($arqxlsx);
$spreadsheet->disconnectWorksheets();
unset($spreadsheet);
echo "<script language='JavaScript'>location.href='index.php?arquivo=".$arqxlsx."';</script>";
?>