Neste post falo sobre este recurso que pode ser bastante útil dentro de um ambiente corporativo, onde é necessário estar gerando determinados relatários. Bem, ontem tive um probleminha, me vi diante da necessidade de gerar uma planilha do excel e não fazia idéia de como poderia fazer isso. Depois de muito estudar e pesquisar percebi que, apesar de ser algo bem simples de implementar, muita gente tem dificuldade em aprender e muitos posts que encontrei por aí simplesmente não funciona.
Existem algumas formas de gerar uma planilha usando PHP. Se você procurar na internet irá encontrar várias classes já prontinhas com várias funções para auxiliar na geração da planilha. O método que vou abordar aqui é o método mais simples, vamo criar tudo na "munheca".
Por incrível que parecer o código é bastante simples, veja:
<?php
//primeiro precisamos acrescentar alguns cabeçalhos para que o arquivo que iremos exportar um arquivo xls
header("Content-type: application/vnd.ms-excel");
//cabecalho para forçar o download
header("Content-type: application/force-download");
//Aqui você pode definir qual o nome da planilha que será gerada
header("Content-Disposition: attachment; filename=relatorio.xls");
header("Pragma: no-cache");
//Aqui começamos a posicionar os campos da nossa tbela
//Veja que para mudar para a celular do lado coloca uma tabulacao (\t) w para ir para a linha de baixo (\n)
$texto = "NOME\tTEEFONE\tENDEREÇO\n";
$texto .= "Zé da Silva\t3333-4455\tAvenida dos brejos\n";
$texto .= "Osfredo pirinosc\t4455-6654\tRua dos perdidos\n";
//imprime a tabela
echo $texto;
?>
Esse pequeno código mostra como podemos exportar uma pequena agenda digitando as entradas uma por uma, mas o conteúdo que será colocado na planilha também pode vir diretamente de um banco de dados.
Espero ter ajudado, dúvidas postem ae!
Existem algumas formas de gerar uma planilha usando PHP. Se você procurar na internet irá encontrar várias classes já prontinhas com várias funções para auxiliar na geração da planilha. O método que vou abordar aqui é o método mais simples, vamo criar tudo na "munheca".
Por incrível que parecer o código é bastante simples, veja:
<?php
//primeiro precisamos acrescentar alguns cabeçalhos para que o arquivo que iremos exportar um arquivo xls
header("Content-type: application/vnd.ms-excel");
//cabecalho para forçar o download
header("Content-type: application/force-download");
//Aqui você pode definir qual o nome da planilha que será gerada
header("Content-Disposition: attachment; filename=relatorio.xls");
header("Pragma: no-cache");
//Aqui começamos a posicionar os campos da nossa tbela
//Veja que para mudar para a celular do lado coloca uma tabulacao (\t) w para ir para a linha de baixo (\n)
$texto = "NOME\tTEEFONE\tENDEREÇO\n";
$texto .= "Zé da Silva\t3333-4455\tAvenida dos brejos\n";
$texto .= "Osfredo pirinosc\t4455-6654\tRua dos perdidos\n";
//imprime a tabela
echo $texto;
?>
Esse pequeno código mostra como podemos exportar uma pequena agenda digitando as entradas uma por uma, mas o conteúdo que será colocado na planilha também pode vir diretamente de um banco de dados.
Espero ter ajudado, dúvidas postem ae!
Muito bom este script de criação de XLS, mas fui utilizar e possuí um errinho.
ResponderExcluir$texto = "NOME\tTEEFONE\tENDEREÇO\n";
$texto = "Zé da Silva\t3333-4455\tAvenida dos brejos\n";
$texto = "Osfredo pirinosc\t4455-6654\tRua dos perdidos\n";
Ao adicionar novas strings na variável $texto, a cada nova inserção esta sobrescrevendo a string anterior então quando estava gerando o excel, só aparecia os dados do Osfredo.
O que tem que ser arrumado é colocar um ponto antes do igual nos próximos dados.
$texto = "NOME\tTEEFONE\tENDEREÇO\n";
$texto .= "Zé da Silva\t3333-4455\tAvenida dos brejos\n";
$texto .= "Osfredo pirinosc\t4455-6654\tRua dos perdidos\n";
Só isso, mas está muito bom Fernando, parabéns pelo blog.
Obrigado pelo aviso, esqueci de colocar os pontos para concatenar as Strings. Já corrigi!
ResponderExcluirComo inserir mais de uma planilha no mesmo arquivo?
ResponderExcluirGrande post Ajudou muito... Valeu!!
ResponderExcluirRealmente muito simples e útil, muito obrigado!
ResponderExcluir