Escolha uma Página

O Problema

Um de nossos clientes precisava coletar dados de diversas empresas, estes dados estavam todos em planilhas do excel e não tinha como pedir para estas empresas exportarem para cvs ou algo do tipo devido a diversos problemas que não vem ao caso, sendo assim a minha única alternativa era extrair os dados de dentro dos arquivos do excel através do PHP.

A Solução

Dando uma garimpada na NET acabei “trombando” com este cara PHP Excel Reader, o projeto era muito bom mas estava meio parado e com uma porção de bug, então um pessoal criou um fork deste projeto e coloco no code.google.

O código funciona muito bem e abaixo apresentarei alguns exemplo de como utilizar o PHP Excel Reader.

Exibindo Uma Planilha

Caso seu desejo seja apenas apresentar o conteúdo de um arquivo excel no navegador então faça o seguinte:

$data = new Spreadsheet_Excel_Reader("test.xls");
$data->dump();

Convertendo uma Planilha em Array

Não existe tal função na ferramenta, sendo assim eu fiz a implementação desta funcionalidade

$data = new Spreadsheet_Excel_Reader("test.xls")
$totalLinhas = $data->rowcount();
$totalColunas= $data->colcount();
 
for($i = 1; $i <= $totalLinhas; $i++){
	for($j = 1; $j <= $totalColunas; $j++){
		$a[$i][$j] = $data->val($i,$j);
	}
}
return $a;

Conclusão

Com o PHP Excel Reader ficou bem fácil de trabalhar com arquivos do excel no php. Uma coisa que pude notar é que existem diferenças de comportamento durante a leitura de arquivos xls feitos no OpenOffice e nos feitos no Excel da Microsoft, isso acontece principalmente devido a formatação das células em datas moedas etc.. o que estou fazendo é deixar todas as colunas no formato String mesmo