No mundo da programação é raro o dia em que não nos deparamos com um ou outro obstáculo, sendo o desafio e a superação do mesmo algo que nos leva a fazer o que fazemos, seja com ou sem ajuda. Pois bem, à dias foi necessário exportar para um ficheiro uma listagem de determinado site. Até aqui tudo bem, sem problemas. A maneira mais simples seria criar em tempo real um ficheiro csv (ficheiro de valores separados por vírgulas) que pode ser aberto sem problemas no Excel, OpenOffice ou LibreOffice. Mas além de ser simples este tipo de ficheiro é bastante limitado e não nos permite definir quaisquer formatações para uma melhor aparência/facilidade de leitura, pois é um mero ficheiro de texto.

Depois de pesquisar e testar várias alternativas eis que cheguei ao “Santo Graal”: PHPExcel

O nome diz quase tudo, trata-se de uma classe para PHP para criar ficheiros Excel completamente personalizáveis. Fiquei literalmente de boca aberta com a potencialidade desta classe, pois tudo o que pode fazer no Excel normal é possível fazer nesta classe, desde colocar texto a negrito até colocar fórmulas de cálculo nas células.

Podem efectuar o download desta classe em PHPExcel Downloads (recommended download). Este download é muito completo, pois contém ficheiros de exemplo da sua utilização e uma documentação excelente onde nada é deixado ao acaso, o que me deixou impressionado.

Vou aqui demonstrar alguns exemplos do que podemos fazer com esta classe e recomendo vivamente a utilização do Komodo Edit 6 como ferramenta open source de desenvolvimento em PHP.

Para termos disponível a classe PHPExcel basta enviarmos para o nosso servidor a pasta “Classes” do PHPExcel. Uma vez feito isto a classe pode ser usada em qualquer parte do nosso site, bastando para isso fazer uma chamada à classe:

 

Aqui o caminho correcto para a classe depende onde colocaram a pasta “Classes“, por isso certifiquem-se do caminho correcto.

De seguida vamos criar um objecto de modo a usar a classe:

 

Neste momento já podemos aceder a todas as funcionalidades da classe PHPExcel usando, aqui como exemplo, o objecto $objPHPExcel.

Podemos definir as propriedades comuns/normais de um ficheiro Excel:

 

Caso seja necessário, ou por ser mais prático, podemos inserir dados consecutivos em várias células sem limites

 

E sempre que o desejarmos podemos definir a formatação quer das células (tipo de letra, cor, alinhamento) quer das colunas/linhas (ajuste automático da altura/largura), sem esquecer a possibilidade de desenhar limites em torno de uma célula ou de um conjunto de células:

 

Usar fórmulas também é uma realidade:

 

Depois de termos tudo o que queremos no ficheiro temos de indicar a criação do ficheiro com base nos dados guardados até ao momento no objecto $objPHPExcel:

 

E para que se obtenha este documento gerado em tempo real damos indicação para o mesmo abrir no browser (seja para visualização no browser seja para download)

 

Ao corrermos uma página com este código, o resultado será algo deste género:

Ficheiro criado com a classe PHPExcel

Ficheiro criado com a classe PHPExcel

Estas são apenas algumas das muitas funcionalidades disponíveis nesta incrível classe PHPExcel à espera de serem exploradas.

Para que possam testar este mesmo código, fica aqui o código exemplo completo:

 

Façam bom uso desta classe pois tem muita potencialidade!

Em caso de questões, dúvidas ou sugestões, deixe um comentário no final da página.

Tiago Ramalho

Tiago Ramalho é um profissional de Informática interessado em Internet, Programação .NET e PHP e blogging. Nos tempos livres escreve nos interessespessoais.com sobre Jardim, Saúde, Sistemas, utilitários e outros temas relacionados com informática.

More Posts - Website - Twitter - Pinterest - Google Plus