Larback - Retornando conhecimento



Gerando planilhas do excel

Cedo ou tarde, seu sistema terá que exportar dados para o Excel - e acredite, isso é extremamente simples. O Excel, que para mim é o melhor software já desenvolvido pela microsoft, consegue ler tabelas HTML - basta criarmos uma tabela HTML e "setarmos" o tipo do arquivo como xls... vamos ao código:
<?php

// Primeiro, crie uma variável string com a tabela que você deseja gerar... não imprima a variável, como vamos modificar o cabeçalho do arquivo, não podemos gerar buffer
$html = '';
$html .= '<table>';
$html .= '<tr>';
$html .= '<td colspan="3">Reprovados 2014</tr>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td><b>Nome</b></td>';
$html .= '<td><b>Matéria</b></td>';
$html .= '<td><b>Nota</b></td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td>Leviatã</td>';
$html .= '<td>VB.net</td>';
$html .= '<td>58</td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td>Gunsberb</td>';
$html .= '<td>C#</td>';
$html .= '<td>59</td>';
$html .= '</tr>';
$html .= '<tr>';
$html .= '<td>Luverbal</td>';
$html .= '<td>Análise</td>';
$html .= '<td>59</td>';
$html .= '</tr>';
$html .= '</table>';

// Agora configuramos o cabeçalho do arquivo como sendo uma planilha e forçamos o download
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=\"{nomeDaPlanilha.xls}\"" );

// Configurado os cabeçalhos, basta imprimir a variável com o conteúdo
echo $html;
?>