logo_color

Manipulando arquivos ODS do OpenOffice com PHP

Introdução

O arquivo no formato .ods é da especificação aberta ODF (Open Document Format), uma alternativa livre de formatos de pacotes office.
O arquivo .ods nada mais é que uma compactação em formato ZIP usado para armazenar a estrutura de planilhas . Pode ser manipulado com a biblioteca ZZIPlib do PHP.
Já os arquivos descompactados são a estrutura do formato ODS, como as imagens e os arquivos XML que contém folhas de estilo, scripts e o conteúdo.
Aqui o que nos interessa é o arquivo content.xml, o qual iremos manipular o seu conteúdo usando DOM (nativo no PHP5 ou DOM XML no PHP4).

Felizmente para usuários MS OFFICE existe agora um plug-in desenvolvido pela SUN que conseque importar e exportar arquivos ODF (no nosso caso iremos usar apenas o ODS). Eu particularmente uso o OpenOffice que me demonstrou obter todos os resultados que eu precisei ate hoje.
Mas para quem usa somente o MS Office segue o link para download:
http://www.sun.com/software/star/openoffice/

Objetivo

Abrir um arquivo .ods usado como template, copia-lo em uma outra pasta, inserir uma sequência de dados e fecha-lo.

Problema

Não salvar o conteúdo no arquivo de template, e sim usar uma copia dele.

Solução

– Fazer uma cópia do arquivo na pasta destino.
– Abrir o arquivo XML dentro do arquivo .ods.
– Manipular os dados usando DOM.
– Salvar o arquivo no .ods.

Código

Arquivo para download:

ods.zip

Caso você tenha ou conheça algum componente que faça manipulação de arquivos ODF, colabore comentando e colocando o link do site.

3 thoughts on “Manipulando arquivos ODS do OpenOffice com PHP

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *