Ler ficheiros Excel com a classe PHPExcel

Depois de vos dar a conhecer a fantástica classe PHPExcel que nos ajuda a fazer quase tudo o que fazemos com os ficheiros de Excel no Office venho brindar-vos com mais uma funcionalidade desta classe. Vamos ver como podemos ler ficheiros Excel já existentes.

Em jeito também de resposta às imensas perguntas já colocadas anteriormente (obrigado a todos pelo vosso interesse) segue então este exemplo que vos vou explicar passo a passo.

Em primeiro lugar vamos activar os reports de erros (que nos facilita na altura de identificar possíveis erros no nosso código) e carregar a nossa classe PHPExcel para que a possamos usar

 

De seguida vamos inicializar os objectos para leitura do nosso ficheiro excel (computadores.xls) e vamos abrir o ficheiro em modo de leitura:

 

Para terem uma ideia do ficheiro excel para este exemplo aqui fica uma amostra do mesmo (bem simples):

"Apagando

Ficheiro Excel para ler com a classe PHPExcel

Agora vem a parte mais interessante que é mostrar os dados contidos no nosso ficheiro excel, mas de forma organizada para uma leitura simples. Para isso vamos recorrer a uma tabela, desta forma o resultado será muito semelhante ao que podemos visualizar no nosso ficheiro.

Para apresentarmos os dados de forma correcta temos de fazer a leitura dos mesmos linha a linha e por cada coluna da respectiva linha, ou seja, para a primeira linha vamos ler todas as colunas dessa linha, para a segunda linha lemos todas as colunas dessa linha, e assim sucessivamente.

Este processo requer que usemos dois ciclos (aqui vou usar o ciclo for), um ciclo para navegarmos pelas linhas e outro ciclo para navegarmos pelas colunas das respectivas linhas. Assim sendo temos:

 

Agora só falta mesmo aceder aos dados do nosso ficheiro excel, e para isso basta-nos a seguinte linha (que deve ser colocada dentro do segundo for):

 

Mas se usarmos somente este código para obtermos os dados podemos correr o risco de alguns caracteres especiais saírem com caracteres estranhos, então temos de usar uma função especial do PHP: utf8_decode()

 

Desta forma todas as letras com acentos e afins saem certinhas sem problemas. Como devem calcular falta qualquer coisa para que possamos escrever os dados já lidos no browser, isso resolve-se com um echo:

 

Claro que para que possamos ter uma tabela também temos de escrever a estrutura da tabela no browser em conjunto com os dados que vamos lendo do ficheiro. Sem mais demoras, e para que possam testar, aqui fica o código completo deste exemplo:

 

O resultado da leitura deste ficheiro com a classe PHPExcel será algo deste tipo:

Dados lidos com a classe PHPExcel

Dados lidos com a classe PHPExcel

Espero que ajude muitos de vocês e que consigam implementar alguma desta informação nos vossos projectos

Você pode gostar...

Deixe uma resposta ou comentário

%d blogueiros gostam disto: