Ir para conteúdo
AlexandrePrezzi

Exportar para Excel

Recommended Posts

Boa tarde,

Estou tentando gerar um arquivo xls ao clicar em um botao "Gerar Excel" (em um primeiro momento estou usando um exemplo pronto básico)

 

Baixei os arquivos da biblioteca e salvei na raiz do meu projeto

/vendors (uma pasta com as classes da biblioteca)

e mais dois arquivos composer soltos na raiz
composer.json

composer.lock  

 

O arquivo que estou trabalhando esta no seguinte caminho 

C:\wamp64\www\painel\src\view\rrc

 

resultExcel.php

 

de modo que para chegar na pasta vendors  eu usei o comando 


require('/../../../vendor/autoload.php');

 

Porem quando eu clico no botão para gerar ele me da um erro sugerindo não encontrar esse arquivo (erro na imagem)

 

 

Obs:  Se eu criar um arquivo resultExcel.php   exatamente igual .. porem na raiz... funciona perfeitamente..... 

Alguem sabe dizer pq dentro de uma estrutura de pastas da esse problema ?

 

 

Segue código do resultExcel.php   (um modelo copiado de um exemplo)

 

<?php

// require_once 'vendor/autoload.php';
require('/../../../vendor/autoload.php');

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;


$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', '#');
$sheet->setCellValue('B1', 'First');
$sheet->setCellValue('C1', 'Last');
$sheet->setCellValue('D1', 'Handle');


$sheet->setCellValue('A2', 1);
$sheet->setCellValue('B2', 'Mark');
$sheet->setCellValue('C2', 'Jacob');
$sheet->setCellValue('D2', 'Larry');

$sheet->setCellValue('A3', 2);
$sheet->setCellValue('B3', 'Jacob');
$sheet->setCellValue('C3', 'Thornton');
$sheet->setCellValue('D3', '@fat');

$sheet->setCellValue('A4', 3);
$sheet->setCellValue('B4', 'Larry');
$sheet->setCellValue('C4', 'the Bird');
$sheet->setCellValue('D4', '@twitter');


$filename = 'sample-'.time().'.xlsx';
// Redirect output to a client's web browser (Xlsx)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
 
// If you're serving to IE over SSL, then the following may be needed
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header('Pragma: public'); // HTTP/1.

$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');

 

 

 

 

erroPHP.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi boa tarde, o seu require para o autoload da vendor está errado, você precisa remover a primeira / porque se não ele vai começar a buscar na raíz do www/, você precisa colocar:

 

ps.: verifica quantas pastas você tem que voltar a partir do arquivo para a pasta vendor, aqui ele vai voltar 3 diretórios, olha se vai cair na pasta do vendor.

 

require('../../../vendor/autoload.php');

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, André Severino disse:

Oi boa tarde, o seu require para o autoload da vendor está errado, você precisa remover a primeira / porque se não ele vai começar a buscar na raíz do www/, você precisa colocar:

 

ps.: verifica quantas pastas você tem que voltar a partir do arquivo para a pasta vendor, aqui ele vai voltar 3 diretórios, olha se vai cair na pasta do vendor.

 


require('../../../vendor/autoload.php');

 

bom dia tudo bom ?  Pelo que vi estaria certo os retornos, inclusive conforme eu vou digitando o editor mostra as pastas. O que eu to imaginando é que o problema ta nesse arquivo autoload.php,  alguma chamada nele "bagunça" os caminhos .... mas vou tentar dar uma olhada novamente.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por biza
      Boa tarde, 
      tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados  de forma a que eles sejam somados.
      Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido.
      Será que alguém me pode auxiliar a resolver isto!
      Obrigado.

    • Por rsnow
      Bom dia a todos;
      Estou com problema na leitura de um arquivo .CSV, 
      a coluna que contém número de CNPJ está vindo convertido em notação científica e não estou conseguindo converter para numeração correta
      Ex: 3,04918E+12
      eu quero mostrar o valor que se encontra convertido que no caso é 3049181000139
      porém faço isso manual no próprio excel e isso se torna muito trabalhoso toda vez.
       
      alguma luz?

    • Por fideles
      Caros,
       
      Tenho 6 inputs para preencher que recebo como base uma planilha em Excel, tenho que fazer manualmente cada coluna no seu respectivo input, alguém já tentou ou sabe se tem alguma forma de copiar a linha do Excel e jogar nos inputs? Ou seja, ao copiar a linha do Excel, ele joga as 6 colunas com os resultados dentro dos inputs. 
    • Por Junior Ni10
      Bom dia,
       
      tenho uma necessidade matemática de passar alguns valores em $x e $y e ele me retornar o mesmo resultado que a função INCLINAÇÃO do excel retorna.
       
      $y[] = 10; $y[] = 23; $y[] = 25; $y[] = 27; $y[] = 56; $y[] = 55; $y[] = 84; $y[] = 87; $y[] = 115; $y[] = 115; $y[] = 125; $y[] = 132; $y[] = 138; $y[] = 153; $y[] = 181; $y[] = 191; $y[] = 198; $y[] = 199; $y[] = 201; $y[] = 205; $x[] = 3; $x[] = 8; $x[] = 10; $x[] = 12; $x[] = 24; $x[] = 25; $x[] = 39; $x[] = 40; $x[] = 55; $x[] = 56; $x[] = 61; $x[] = 64; $x[] = 66; $x[] = 73; $x[] = 90; $x[] = 93; $x[] = 96; $x[] = 97; $x[] = 98; $x[] = 99; Tenho esse array acima com os dados, no excel o retorno é 1,996159717, preciso que minha aplicação retorne o mesmo.
    • Por biakelly
      Oi pessoal.
       
      Hoje trago uma dúvida que ainda preciso saber como começar.
       
      Tenho um cliente que tem um colégio de idioma pequeno onde ele possui atualmente 20 alunos
      Por algum motivo que não sei explicar ele registra notas diárias para os alunos (sim isso é estranho), portanto na planilha dele tem duas colunas: Nome do aluno e nota (a nota vai de 5 a 10)
       
      Ele quer subir esse excel para um banco de dados e exibir "notas do dia" para os alunos.
       
      Exemplo aluno entra na página e lá tem diversos links (data e horário) o aluno clica nele e exibe a nota de todos alunos na página.
       
      Bem, alguma idéia de como posso fazer isso?
       
      Sim, ja tentei convence-lo para construir um sistema onde cada aluno possa ver sua própria nota, mas não consegui :/ 
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.