TransWar File Browser

Path: C:\

<?php
ini_set('max_execution_time',259200); 
ini_set('memory_limit' , '-1' ) ;
date_default_timezone_set('America/Sao_Paulo');
$DT=date('d-m-Y_G\hi\m');
$lin=$_GET['lin'];
$arq=$_GET['arq'];

$arqxlsx="Arquivos/FUP_".$DT.".xlsx";

// Verificar se o CSV tem dados antes de processar
$csvPath = "Arquivos/".$arq;
if(!file_exists($csvPath) || filesize($csvPath) < 500){
  $tamanho = file_exists($csvPath) ? filesize($csvPath) : 0;
  echo "<script language='JavaScript'>alert('ERRO: O arquivo CSV está vazio ou com dados insuficientes (".$tamanho." bytes).\\nIsso pode ter sido causado por falha na API ou no banco de dados.\\nTente gerar novamente.');location.href='FUP.php';</script>";
  exit;
}

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('"');
$logo1="../images/BRAINFARMA1.png";
$logo2="../images/BRAINFARMA2.png";
$logo3="../images/BRAINFARMA3.png";
$reader->setSheetIndex(0);
/* Load a CSV file and save as a XLS */
$spreadsheet = $reader->load("Arquivos/".$arq);
$writer = new Xlsx($spreadsheet);
$spreadsheet->getActiveSheet()->setTitle('FUP');
$drawing1 = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
$drawing1->setPath($logo3);
$drawing1->setHeight(70);
$drawing1->setWorksheet($spreadsheet->getActiveSheet());
$drawing1->setCoordinates('A3');
$drawing2 = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
$drawing2->setPath($logo2);
$drawing2->setHeight(70);
$drawing2->setWorksheet($spreadsheet->getActiveSheet());
$drawing2->setCoordinates('H3');
$drawing3 = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
$drawing3->setPath($logo1);
$drawing3->setHeight(70);
$drawing3->setWorksheet($spreadsheet->getActiveSheet());
$drawing3->setCoordinates('Q3');
$spreadsheet->getActiveSheet()->mergeCells('A7:R7');
$styleArray = [
    'borders' => [
        'outline' => [
            'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
            'color' => ['argb' => '000000'],
        ],
    ],
];
$styleArray2 = [
    'borders' => [
        'vertical' => [
            'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
            'color' => ['argb' => 'a4a4a4'],
        ],
    ],
];
$format = '* #,###';
$format1= '* #,##0.00';
$format2= '* ##,##0.000';
$spreadsheet->getActiveSheet()->getStyle('A8:R'.$lin)->applyFromArray($styleArray);
$spreadsheet->getActiveSheet()->getStyle('A8:R'.$lin)->applyFromArray($styleArray2);
$spreadsheet->getActiveSheet()->getStyle('A7:R7')->getFont()->setSize(14);
$spreadsheet->getActiveSheet()->getStyle('A7:R8')->getFont()->setBold(true);
$spreadsheet->getActiveSheet()->getStyle('A8:R8')
    ->getAlignment()->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('A7:R8')
    ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('A9:C'.$lin)
    ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('G9:K'.$lin)
    ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$spreadsheet->getActiveSheet()->getStyle('A8:R8')
    ->getFont()->getColor()->setARGB(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_WHITE);
$spreadsheet->getActiveSheet()->getStyle('D9:E'.$lin)->getNumberFormat()->setFormatCode($format);
$spreadsheet->getActiveSheet()->getStyle('M9:M'.$lin)->getNumberFormat()->setFormatCode($format);
$spreadsheet->getActiveSheet()->getStyle('P9:P'.$lin)->getNumberFormat()->setFormatCode($format2);
$spreadsheet->getActiveSheet()->getStyle('N9:N'.$lin)->getNumberFormat()->setFormatCode($format1);
$spreadsheet->getActiveSheet()->getStyle('Q9:Q'.$lin)->getNumberFormat()->setFormatCode($format1);
for ($c=3; $c <= $lin; $c++) 
  { //if ($c % 2 == 0) { $bg="d8d8d8";} else {$bg="ffffff";}
    $range='A'.$c.':M'.$c;
    /*
    $spreadsheet->getActiveSheet()->getStyle($range)->getFill()
        ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
        ->getStartColor()->setARGB($bg);
        */
  }
$spreadsheet->getActiveSheet()->getStyle('A2:R6')->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()->setARGB('ED7D31');
$spreadsheet->getActiveSheet()->getStyle('A7:R7')->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()->setARGB('FFC000');
$spreadsheet->getActiveSheet()->getStyle('A8:R8')->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()->setARGB('222B35');
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setWidth(46);
$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(55);
$spreadsheet->getActiveSheet()->getColumnDimension('G')->setWidth(17);
$spreadsheet->getActiveSheet()->getColumnDimension('H')->setWidth(12);
$spreadsheet->getActiveSheet()->getColumnDimension('I')->setWidth(20);
$spreadsheet->getActiveSheet()->getColumnDimension('J')->setWidth(10);
$spreadsheet->getActiveSheet()->getColumnDimension('K')->setWidth(15);
$spreadsheet->getActiveSheet()->getColumnDimension('L')->setWidth(29);
$spreadsheet->getActiveSheet()->getColumnDimension('M')->setWidth(20);
$spreadsheet->getActiveSheet()->getColumnDimension('N')->setWidth(15);
$spreadsheet->getActiveSheet()->getColumnDimension('O')->setWidth(10);
$spreadsheet->getActiveSheet()->getColumnDimension('P')->setWidth(15);
$spreadsheet->getActiveSheet()->getColumnDimension('Q')->setWidth(20);
$spreadsheet->getActiveSheet()->getColumnDimension('R')->setWidth(35);
$spreadsheet->getActiveSheet()->setAutoFilter('A8:R8');
$linhaParaRemover=9;
$spreadsheet->getActiveSheet()->removeRow($linhaParaRemover);
$writer->save($arqxlsx);
$spreadsheet->disconnectWorksheets();
unset($spreadsheet);
//unlink("Arquivos/".$arq); 
echo "<script language='JavaScript'>location.href='FUP.php?arquivo=".$arqxlsx."';</script>";
?>