D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Views
/
Cotacao
/
Filename :
VieCtPedidoFecharExcel.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; $Lanc = new \App\gre\Models\Cotacao\ModCtPedidoProdutosListar(); $arr = $Lanc->listarProdutos($Dados); /* echo '<pre>'; var_dump($arr[0]); echo '</pre>'; die; */ $repres_nome = $arr[0]['nome_repres']; $repres_id = $arr[0]['repres_id']; $nome_tipo_resposta = $arr[0]['nome_tipo_resposta']; $difei = $arr[0]['valor_difei']; $dife = $arr[0]['valor_dife']; $cabec1 = ""; if ($repres_id <> '') { $cabec = "PEDIDO - COTACAO_Nº ".$arr[0]['cotacao_id']." SUGESTAO_Nº ".$arr[0]['sugestao_id']. " REPRES: ".$repres_nome; if($nome_tipo_resposta <> '' and $difei > 0) { $cabec1 = "Resposta Negociação: ".$nome_tipo_resposta." Valor da Diferença ".$dife; } if($nome_tipo_resposta <> '' and $difei < 0.01) { $cabec1 = "Resposta Negociação: ".$nome_tipo_resposta; } $nomePlanilha = "PEDIDO_COTACAO_Nº_".$arr[0]['cotacao_id']."-".$arr[0]['sugestao_id'].'_DE_'. $arr[0]['datab'].'_'.$repres_nome; }else{ $cabec = "ROSÁRIO - PRODUTOS NÃO COTADOS"; $nomePlanilha = "NÃO_COTADOS".'_'. $arr[0]['data_cotacao']; } 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); if ($repres_id <> '') { $spreadsheet->getActiveSheet()->getStyle('A1:J2') ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER); $sheet->getColumnDimension('A')->setWidth(80,'px'); $sheet->getColumnDimension('B')->setWidth(170,'px'); $sheet->getColumnDimension('C')->setWidth(80,'px'); $sheet->getColumnDimension('D')->setWidth(120,'px'); $sheet->getColumnDimension('E')->setWidth(400,'px'); $sheet->getColumnDimension('F')->setWidth(40,'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'); $spreadsheet->getActiveSheet()->mergeCells('A1:J1'); $sheet->getStyle('A1')->getFont()->setBold(true); $sheet->getStyle('A2:J2')->getFont()->setBold(true); $sheet->setCellValue('A1', $cabec); $i = 2; if ($cabec1 <> "") { $spreadsheet->getActiveSheet()->mergeCells('A2:jI2'); $sheet->getStyle('A2:J2')->getFont()->setBold(true); $sheet->setCellValue('A'.$i, $cabec1); $i = $i + 1; }else{ $i = 2; } $sheet->getStyle('A'.$i.':I'.$i)->getFont()->setBold(true); $sheet->setCellValue('A'.$i, 'Data'); $sheet->setCellValue('B'.$i, 'Marca'); $sheet->setCellValue('C'.$i, 'Cod. Interno'); $sheet->setCellValue('D'.$i, 'EAN DO PRODUTO'); $sheet->setCellValue('E'.$i, 'Descrição do Produto'); $sheet->setCellValue('F'.$i, 'Curva'); $sheet->setCellValue('G'.$i, 'Qtde'); $sheet->setCellValue('H'.$i, 'Menor Preco'); $sheet->setCellValue('I'.$i, 'Preço Resposta'); $sheet->setCellValue('J'.$i, 'Dife Preço'); $i = $i + 1; foreach ($arr as $lactos) { extract($lactos); $sheet->setCellValue('A'.$i, $data); $sheet->setCellValue('B'.$i, $marca_nome); $sheet->setCellValue('C'.$i, $prod_cod); $sheet->setCellValue('D'.$i, $ean); $sheet->setCellValue('E'.$i, $prod_nome); $sheet->setCellValue('F'.$i, $curva); $sheet->setCellValue('G'.$i, $qtde); $sheet->setCellValue('H'.$i, $menor_preco); $sheet->setCellValue('I'.$i, $preco_respostai); $sheet->setCellValue('J'.$i, "=I".$i."-H".$i); //$sheet->setCellValue('H'.$i, number_format($tenho_preco,2,',','.')); //$sheet->setCellValue('H'.$i, $tenho_preco_m); $i = $i + 1; } $sheet->getStyle('A1:J'.$i)->applyFromArray($styleArray); }else{ $spreadsheet->getActiveSheet()->getStyle('A1:H2') ->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER); $sheet->getColumnDimension('A')->setWidth(80,'px'); $sheet->getColumnDimension('B')->setWidth(170,'px'); $sheet->getColumnDimension('C')->setWidth(80,'px'); $sheet->getColumnDimension('D')->setWidth(120,'px'); $sheet->getColumnDimension('E')->setWidth(400,'px'); $sheet->getColumnDimension('F')->setWidth(40,'px'); $sheet->getColumnDimension('G')->setWidth(100,'px'); $sheet->getColumnDimension('H')->setWidth(100,'px'); $spreadsheet->getActiveSheet()->mergeCells('A1:H1'); $sheet->getStyle('A1')->getFont()->setBold(true); $sheet->getStyle('A2:I2')->getFont()->setBold(true); $sheet->setCellValue('A1', $cabec); $sheet->setCellValue('A2', 'Data'); $sheet->setCellValue('B2', 'Marca'); $sheet->setCellValue('C2', 'Cod. Interno'); $sheet->setCellValue('D2', 'EAN DO PRODUTO'); $sheet->setCellValue('E2', 'Descrição do Produto'); $sheet->setCellValue('F2', 'Curva'); $sheet->setCellValue('G2', 'Qtde'); $sheet->setCellValue('H2', 'Preço Desejado'); $i = 3; foreach ($arr as $lactos) { extract($lactos); $sheet->setCellValue('A'.$i, $data); $sheet->setCellValue('B'.$i, $marca_nome); $sheet->setCellValue('C'.$i, $prod_cod); $sheet->setCellValue('D'.$i, $ean); $sheet->setCellValue('E'.$i, $prod_nome); $sheet->setCellValue('F'.$i, $curva); $sheet->setCellValue('G'.$i, $qtde); $sheet->setCellValue('H'.$i, $tenho_preco); $i = $i + 1; } $sheet->getStyle('A1:H'.$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__ ; $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;