D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
rosario
/
adm
/
app
/
gre
/
Models
/
Cotacao
/
Filename :
ModCtRespondeNegociacaoGerar.php
back
Copy
<?php namespace App\gre\Models\Cotacao; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; if (!defined('URL')) { header("Location: /"); exit(); } /** * Description of GrsListarPsaudemedico * * @copyright (c) year, Carlos Marques - CM */ class ModCtRespondeNegociacaoGerar { private $Dados; private $Resultado; private $PageId; private $DadosExcel; function getResultado() { return $this->Resultado; } public function gerarNegociacao($PageId = null, $Dados = null) { $Lanc = new \App\gre\Models\Cotacao\ModCtRespondeNegociacaoLer(); $arr = $Lanc->listarNegociacao($this->Dados); //var_dump($arr); $nome = $arr[0]['nome_forn']; require "vendor/autoload.php"; //unlink('negociacao.xlsx'); // redirect output to client browser //header('Content-Type: application/vnd.ms-excel'); //header('Content-Disposition: attachment;filename="negocia_ultimo.xls"'); //header('Cache-Control: max-age=0'); ///header ("Cache-Control: no-cache, must-revalidate"); //header ("Pragma: no-cache"); //header ("Content-type: application/x-msexcel"); //header ("Content-Disposition: attachment; filename=\"negocia_ultimo\"" ); //header ("Content-Description: PHP Generated Data" ); $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->getColumnDimension('A')->setWidth(100,'px'); $sheet->getColumnDimension('B')->setWidth(70,'px'); $sheet->getColumnDimension('C')->setWidth(100,'px'); $sheet->getColumnDimension('D')->setWidth(400,'px'); $sheet->getColumnDimension('E')->setWidth(100,'px'); $sheet->getColumnDimension('F')->setWidth(100,'px'); $sheet->setCellValue('A2', 'COD INTERNO'); $sheet->setCellValue('B2', 'QTDE'); $sheet->setCellValue('C2', 'CODIGO EAN'); $sheet->setCellValue('D2', 'DESCRIÇÃO'); $sheet->setCellValue('E2', $nome); $sheet->setCellValue('F2', 'TENHO PREÇO'); $sn=3; $total_preco_cotado = 0; $total_preco_tenho = 0; foreach ($arr as $data) { extract($data); $sheet->setCellValue('A'.$sn, $prod_cod); $sheet->setCellValue('B'.$sn, $qtde); $sheet->getStyle('C'.$sn)->getNumberFormat()->setFormatCode('0000000000000'); $sheet->setCellValue('C'.$sn, $ean); $sheet->setCellValue('D'.$sn, $prod_nome); $sheet->getStyle('E'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('E'.$sn, $preco_cotado); $sheet->getStyle('F'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('F'.$sn, $tenho_preco); $total_preco_cotado += ($preco_cotado * $qtde); $total_preco_tenho += ($tenho_preco * $qtde); $sn++; } $fim = $sn -1; $sheet->getStyle('D'.$sn)->getFont()->setBold(true); $sheet->setCellValue('D'.$sn, 'TOTAIS'); $sheet->getStyle('E'.$sn)->getFont()->setBold(true); $sheet->getStyle('E'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('E'.$sn, '=SUMPRODUCT(B3:B'.$fim.',E3:E'.$fim.')'); $sheet->getStyle('F'.$sn)->getFont()->setBold(true); $sheet->getStyle('F'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('F'.$sn, '=SUMPRODUCT(B3:B'.$fim.',F3:F'.$fim.')'); $fim = $sn; $sn++; $sheet->getStyle('D'.$sn)->getFont()->setBold(true); $sheet->setCellValue('D'.$sn, 'DIFERENÇA'); $sheet->getStyle('E'.$sn)->getFont()->setBold(true); $sheet->getStyle('E'.$sn)->getNumberFormat()->setFormatCode('##,###,###,##0.00'); $sheet->setCellValue('E'.$sn, '=(F'.$fim.'-E'.$fim.')'); $sheet->getStyle('A2:F'.$sn)->getBorders()->getAllBorders()->setBorderStyle(\PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN); $sheet->getStyle('F2:F'.$sn)->getProtection()->setLocked(\PhpOffice\PhpSpreadsheet\Style\Protection::PROTECTION_PROTECTED); //$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx')/ //$writer->save('php://output'); $writer = new Xlsx($spreadsheet); $writer->save('negociacao.xls'); //$writer->save('php://output'); //echo 'O sn é: '.$sn; $carregarView = new \App\gre\core\ConfigViewImprSimples("gre/Views/Cotacao/VieCtRespondeNegociaoDownload", $this->Dados); $carregarView->renderizarGre(); /* $zip = new \ZipArchive(); if( $zip->open($fullPath, \ZipArchive::CREATE) ){ while($arquivo = $diretorio->read()){ $extensao = substr($arquivo,strlen($arquivo)-3,3); if($extensao == 'xlsx'){ $pesquisa = substr($arquivo,0,5); // var_dump('pesquisa: '.$pesquisa); // var_dump('prefixo: '.$prefixo); if($pesquisa == $prefixo){ $zip->addFile($path.'/'.$arquivo, $arquivo); } } } $zip->close(); } if(file_exists($fullPath)){ // Forçamos o donwload do arquivo. header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename="'.$fileName.'"'); readfile($fullPath); //removemos o arquivo zip após download // unlink($fullPath); } */ } }