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>";
?>