Olá, pessoal!
Quem aqui nunca pensou em exportar sua tabela HTML para o Excel? Esta funcionalidade é muito útil quando se pretende usar os recursos do programa para manipular os dados ou até mesmo para salvar relatórios para acessos futuros.
Neste pequeno tutorial, mostrarei como é simples criar este mecanismo. Trata-se apenas de forçar o download do arquivo através da função header(), que é nativa do PHP.
Em primeiro lugar, atribuiremos o conteúdo HTML da nossa tabela a uma variável chamada $html (ou o nome que você preferir):
<?php $html = " <table width='90%' border='1'> <tr> <th>Título </th> <th>Título 2</th> <th>Título 3</th> </tr> <tr> <td>Dados 1</td> <td>Dados 2</td> <td>Dados 3</td> </tr> <tr> <td>Dados 4</td> <td>Dados 5</td> <td>Dados 6</td> </tr> <tr> <td>Dados 7</td> <td>Dados 8</td> <td>Dados 9</td> </tr> </table> "; ?>
Depois, basta forçarmos o download do arquivo em formato “.xls“, imprimindo o conteúdo da nossa variável $html:
<?php // Determina que o arquivo é uma planilha do Excel header("Content-type: application/vnd.ms-excel"); // Força o download do arquivo header("Content-type: application/force-download"); // Seta o nome do arquivo header("Content-Disposition: attachment; filename=file.xls"); header("Pragma: no-cache");// Imprime o conteúdo da nossa tabela no arquivo que será gerado echo $html; ?>
Bem simples, não?
Existem outras formas de se obter o mesmo resultado e por isso, cabe ao desenvolvedor escolher a maneira que desejar.
Espero ter ajudado com este simples tutorial. Comentários, críticas construtivas, sugestões e discussões sobre o assunto são muito bem vindos.
Em breve postarei novos tutoriais e boas dicas de PHP. Até a próxima!
Deixe seu comentário:Continua após a publicidade..
4 Comentários
Que gambiarra, hein. :/
Gostaria de sugerir uma forma mais eficiente e mais curta que gere um mesmo resultado? Já que tens solução melhor, poderia compartilhar com os nossos usuários? Grato pelo comentário.
Como trabalhar com “sub-tabelas” num mesmo arquivo?
Muito bueno, gostei e vou usar.