HT
Utilizar PhpSpreadsheet
Alguém já utilizou via composer a biblioteca PhpSpreadsheet?. Fiz a instalação, mas quando vou utilizar da mensagem de erro informando que não localizou a classe.
Código simples:
Erro:
PHP Parse error: syntax error, unexpected '$spreadsheet' (T_VARIABLE), expecting function (T_FUNCTION) in /var/www/html/sgi/app/control/sistema/dev-teste/teste.class.php on line 5
Código simples:
- <?php
- class teste{
- $spreadsheet = new Spreadsheet();
- $sheet = $spreadsheet->getActiveSheet();
- $sheet->setCellValue('A1', 'Hello World !');
- $writer = new Xlsx($spreadsheet);
- $writer->save('hello world.xlsx');
- }
- ?>
Erro:
PHP Parse error: syntax error, unexpected '$spreadsheet' (T_VARIABLE), expecting function (T_FUNCTION) in /var/www/html/sgi/app/control/sistema/dev-teste/teste.class.php on line 5
ac
O erro não diz que a classe não foi encontrada, diz que há um erro de sintaxe.
"PHP Parse error: syntax error"
Quando trabalhar com classes o código deve obrigatoriamente estar dentro de uma função:
"unexpected '$spreadsheet' (T_VARIABLE), expecting function (T_FUNCTION)", ou seja, em $spreadsheet o php espera encontrar uma função mas encontrou uma variável
Realmente, nas pressas nem consegui raciocinar, mais quando li o erro e reformulei, passou direitinho. Outro problema que estava fazendo era colocar o "use" dentro da classe e não antes.
Vlw pelo retorno.
Boa noite a todos.
Muito boa a dica de vocês.
Precisei utilizar a biblioteca e junto com o artigo, "Integrar bibliotecas pelo composer no Adianti Framework 5", do Pablo consegui fazê-la funcionar.
Parabéns a todos.
Att,
Ailton Furtado
Consegui implementar e estou gerando as planilhas.
O problema que estou enfrentando e enviá-la para o navegador via download.
Usando o TPage::openFile(). ele abre as opções do navegador: abrir ou download.
Se tentar abrir dá erro, pois ele diz que o arquivo não existe, mas se fizer o download, na pásta, ele abre normalmente.
Alguém já conseguiu finalizar a implementação e permitir que o usuário abra com o aplicativo padrão, ao invés de apenas baixá-lo?
Já consigo utilizar... posta a parte do teu código para dar uma olhada.
Segue
Instalação
composer require phpoffice/phpspreadsheet
Tenta usar esse código para gerar:
Não entendi porque de tantos:
$plan = new Spreadsheet();
$sheet = $plan->getActiveSheet();
Se não diferencia as abas que são geradas no excell.
Fonte da biblioteca: https://phpspreadsheet.readthedocs.io/en/develop/
Fiz algo rápido que dá para ajudar..
Oi Herbety foi um reaproveitamento.
Acredito que seja de versões anteriores.
Vou implementar da forma sugerida.
Muito obrigado.