Posts com a tag "Excell":

03/06/2009 - 17:29

Exportando dados para EXCELL com PHP

Um dia desses, me surgiu um problema ao elaborar um sistema. O Cliente queria que o sistema exportasse os dados de determinado relatório para Excell.

Em ASP, eu sabia fazer, porém, estava usando PHP… O que fazer?

Pesquisei na internet e entendi o funcionamento. Percebi que é bem simples.

1º O que é uma planilha?

É em principio uma tabela.

<table>
	<tr>
		<td>Linha 1, Coluna 1</td>
		<td>Linha 1, Coluna 2</td>
		<td>Linha 1, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 2, Coluna 1</td>
		<td>Linha 2, Coluna 2</td>
		<td>Linha 2, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 3, Coluna 1</td>
		<td>Linha 3, Coluna 2</td>
		<td>Linha 3, Coluna 2</td>
	</tr>
</table>

Ta, fiz a tabela, e agora… Como eu exporto…

Simples, você exporta através de de função header do PHP.

Muitos que estão lendo devem conhecer a função header apenas como uma maneira de redirecionar uma página, porém ela vai muito além disso…

Veja no nosso caso, como é:

header("Content-type: application/vnd.ms-excel");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=relatorio.xls");
header("Pragma: no-cache");

Utilizando a tabela gerada e as funções de Header no mesmo arquivo, será gerado um excell com a sua estrutura de tabela.

Veja o Código Completo

<?php
	header("Content-type: application/vnd.ms-excel");
	header("Content-type: application/force-download");
	header("Content-Disposition: attachment; filename=relatorio.xls");
	header("Pragma: no-cache");
?>

<table>
	<tr>
		<td><strong>Linha 1, Coluna 1</strong></td>
		<td>Linha 1, Coluna 2</td>
		<td>Linha 1, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 2, Coluna 1</td>
		<td>Linha 2, Coluna 2</td>
		<td>Linha 2, Coluna 2</td>
	</tr>
	<tr>
		<td>Linha 3, Coluna 1</td>
		<td>Linha 3, Coluna 2</td>
		<td>Linha 3, Coluna 2</td>
	</tr>
</table>

Utilizando este código, será gerado um arquivo chamado “relatorio.xls” com os dados da tabela.

gerarexcell

Se você analisar o código acima, você verá que eu formatei a primeira celula da primeira linha, deixando-a em negrito. Você pode formatar da maneira como você necessitar.

Enviado por: Leandro Garcia - Categoria(s): PHP Tags relacionadas: , ,