Pular para o conteúdo
Início » Como exportar tabelas HTML para o Excel usando PHP

Como exportar tabelas HTML para o Excel usando PHP

 

Publicidade - O artigo continua após o banner

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.

Publicidade - O artigo continua após o banner


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?

Publicidade - O artigo continua após o banner

Existem outras formas de se obter o mesmo resultado e por isso, cabe ao desenvolvedor escolher a maneira que desejar.

Saiba mais aqui!


6 comentários em “Como exportar tabelas HTML para o Excel usando PHP”

  1. Cara, valeu mesmo pelo código, me ajudou muito aqui.

    Mas fiquei com um problema pendente aqui: preciso exportar na própria tabela, uma imagem, não consigo incluir isso no header, sabe como posso fazer? Muito obrigado desde já o/

Comentários

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *