D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Views
/
Excesso
/
Filename :
VieExcessoFilialProdExcel.php
back
Copy
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); ob_start(); $path = getcwd(); //VAR_DUMP(URLFPDF); $Dados = $_GET; unset ($Dados['url']); unset ($Dados['opcao']); //var_dump($Dados); //die; $Lanc= new \App\gre\Models\ModExcessoFilialProd(); $arr = $Lanc->listFilialProd($Dados); $curva_sel = $arr[0]['curva_sel']; $nome_secao = $arr[0]['secao_nome']; $nome_grupo = $arr[0]['grupo_nome']; $nome_filial = $arr[0]['nome_filial']; $data_v = $arr[0]['data_v']; $data_sel = $arr[0]['data_sel']; $cabec = "ROSÁRIO - EXCESSOS ". $nome_filial. ' - '.$data_v; $nomePlanilha = "ROSÁRIO - EXCESSOS_". $nome_filial.'_'.$data_sel; require $_SERVER['DOCUMENT_ROOT']."/rosario/adm/vendor/autoload.php"; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PHPOffice\phpspreadsheet\Shared\Date; //include_once("conecta.php"); $styleArray = [ 'borders' => [ 'allBorders' => [ 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['argb' => '00000000'], ], ], ]; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); //$spreadsheet->getActiveSheet()->setPrintGridlines(true); $spreadsheet->getActiveSheet()->getStyle('A2:O2') ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER); $sheet->getColumnDimension('A')->setWidth(140,'px'); $sheet->getColumnDimension('B')->setWidth(200,'px'); $sheet->getColumnDimension('C')->setWidth(450,'px'); $sheet->getColumnDimension('F')->setWidth(100,'px'); $sheet->getColumnDimension('G')->setWidth(100,'px'); $sheet->getColumnDimension('H')->setWidth(100,'px'); $sheet->getColumnDimension('I')->setWidth(100,'px'); $sheet->getColumnDimension('J')->setWidth(100,'px'); $sheet->getColumnDimension('K')->setWidth(100,'px'); $sheet->getColumnDimension('L')->setWidth(100,'px'); $sheet->getColumnDimension('M')->setWidth(100,'px'); $sheet->getColumnDimension('N')->setWidth(100,'px'); $sheet->getColumnDimension('O')->setWidth(120,'px'); $spreadsheet->getActiveSheet()->mergeCells('A1:B1'); $spreadsheet->getActiveSheet()->mergeCells('D1:E1'); $spreadsheet->getActiveSheet()->mergeCells('F1:I1'); $sheet->getStyle('A1:D1')->getFont()->setBold(true); $sheet->getStyle('A2:O2')->getFont()->setBold(true); $sheet->setCellValue('A1', $cabec); $sheet->setCellValue('C1', 'Seção: '.$nome_secao); $sheet->setCellValue('D1', 'Grupo: '.$nome_grupo); $sheet->setCellValue('A2', 'Marca'); $sheet->setCellValue('B2', 'Cod.Produto'); $sheet->setCellValue('C2', 'Descrição'); $sheet->setCellValue('D2', 'Curva'); $sheet->setCellValue('E2', 'PBM'); $sheet->setCellValue('F2', 'Inclusão'); $sheet->setCellValue('G2', 'Qtde Estoque'); $sheet->setCellValue('H2', 'SMD'); $sheet->setCellValue('I2', 'Dias Estoque'); $sheet->setCellValue('J2', 'Dias Max'); $sheet->setCellValue('K2', 'Est Mínimo'); $sheet->setCellValue('L2', 'Est Máximo'); $sheet->setCellValue('M2', 'Qtde. Excesso'); $sheet->setCellValue('N2', 'Vlr. Excesso (R$)'); $sheet->setCellValue('O2', '% Part.'); $i = 3; foreach ($arr as $lactos) { extract($lactos); $sheet->setCellValue('A'.$i, $nome_marca); $sheet->setCellValue('B'.$i, $produto_id); $sheet->setCellValue('C'.$i, $nome_prod); $sheet->setCellValue('D'.$i, $curva_sel); $sheet->setCellValue('E'.$i, $pbm); $sheet->setCellValue('F'.$i, $data_inclusao); $sheet->setCellValue('G'.$i, $qtde_estoque); $sheet->setCellValue('H'.$i, $smd); $sheet->setCellValue('I'.$i, $dias_est); $sheet->setCellValue('J'.$i, $dias_max); $sheet->setCellValue('K'.$i, $est_minimo); $sheet->setCellValue('L'.$i, $qtde_est_max); $sheet->setCellValue('M'.$i, $qtde_excesso); $sheet->setCellValue('N'.$i, $valor_excessoi); $sheet->setCellValue('O'.$i,$part_geral); $i = $i + 1; } $spreadsheet->getActiveSheet()->getStyle('D3:O'.$i) ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER); $sheet->getStyle('A1:O'.$i)->applyFromArray($styleArray); //$sheet->setCellValue('A1', 'Hello World !'); //var_dump($sheet); $writer = new Xlsx($spreadsheet); $writer->save($nomePlanilha.'.xlsx'); $fileName = $nomePlanilha.'.zip'; //$path = '/var/www/html/rosario/adm/'; //__DIR__ ; $path = 'C:/wamp64/www/rosario/adm/'; //__DIR__ ; $fullPath = $path.$fileName; $diretorio = dir($path); $nomeArquivo = $nomePlanilha.'.xlsx'; //var_dump('fullpath:'. $fullPath); $zip = new \ZipArchive(); if( $zip->open($fullPath, \ZipArchive::CREATE) ){ while($arquivo = $diretorio->read()){ var_dump('$arquivo=> '.$arquivo.'<br>'); var_dump('$nomearquivo=> '.$nomeArquivo.'<br>'); $extensao = substr($arquivo,strlen($arquivo)-4,4); if($arquivo == $nomeArquivo ){ // var_dump('arquivo - planilha=> '.$arquivo.' - '. $nomeplanilha.'<br>'); //var_dump('path e arquivo=>'. $arquivo); $zip->addFile($path.'/'.$arquivo, $arquivo); //var_dump('zipou'); } } $zip->close(); } if(file_exists($fullPath)){ // var_dump('achou para subir'); // Forçamos o donwload do arquivo. header('Content-Type: application/zip'); header('Content-Disposition: attachment; filename="'.$fileName.'"'); readfile($fullPath); $path = '/var/www/html/rosario/adm/'; //__DIR__ ; $fileDelz =$nomePlanilha.'.zip'; $fullPathDelz = $path.'/'.$fileDelz; $fileDelx = $nomePlanilha.'.xlsx'; $fullPathDelx = $path.'/'.$fileDelx; $diretorio = dir($path); unlink($fileName); unlink($fullPathDelx); } die;