Integração .NET x Microsoft Office: uma introdução ao Open XML SDK

Veja neste artigo uma introdução ao Open XML SDK. Este framework possibilita que aplicações .NET manipulem arquivos no formato Open XML, o qual representa o padrão adotado pelas versões mais recentes do pacote Microsoft Office.

Os aplicativos do pacote Office da Microsoft (Figura 1) revolucionaram, sem sombra de dúvidas, o trabalho nos mais variados tipos de organizações. Muito disto se deve à ênfase dada a facilidade de uso na concepção de aplicações como o Word, o Excel e o Power Point. O amplo conjunto de funcionalidades e recursos disponibilizados pela Microsoft nestas ferramentas possibilitam a criação de documentos, planilhas, gráficos e apresentações extremamente sofisticados, viabilizando a produção de trabalhos que anteriormente seriam bastante improváveis.

Até a versão 2003 arquivos do Word, Excel e Power Point eram gravados em um formato binário, específico do próprio Office. Isto por vezes acaba por representar um fator limitante, principalmente quando da necessidade de se criarem formas de integração entre aplicações específicas com funções do Office. Este é o caso de sistemas que permitem que análises dos mais variados gêneros sejam exportadas para o Excel, a geração de arquivos do Word contendo contratos e outros documentos pré-formatados, dentre outras funções. O mecanismo que viabilizava este processo é conhecido pelo nome de Interop e, muito embora atenda a um grande número de demandas, está restrito à geração de arquivos compatíveis com as versões 97 e 2003 do Office.

Com o lançamento do Microsoft Office 2007 um novo padrão para a geração de planilhas, gráficos, apresentações e documentos de texto seria criado: o Office Open XML ou, simplesmente, Open XML. Por mais que os formatos anteriores sejam suportados pelas versões 2007, 2010 e 2013 do pacote Office, é forte a importância que a Microsoft tem dado a este novo padrão, visando com isto uma maior aceitação do mesmo.

Uma das iniciativas neste sentido foi a criação de um framework voltado especificamente para a geração de arquivos neste novo formato: trata-se do Open XML SDK. Este último encontra-se atualmente na versão 2.5, contando com um amplo suporte para a leitura e gravação de arquivos com as extensões .xlsx (Excel), .docx (Word) e .pptx (Power Point).

A finalidade deste artigo é fornecer uma visão geral a respeito do padrão Open XML, discutindo aspectos relativos a este formato, bem como de que maneira aplicações .NET podem empregar o mesmo na implementação dos mais variados tipos de funcionalidades.


Figura 1: Microsoft Office

Open XML: uma visão geral

O Open XML é um padrão para geração de arquivos que começou a ser empregado como default pelo pacote Office a partir da versão 2007 (algo que teve continuidade também com o lançamento das versões 2010 e 2013). Os arquivos gerados neste formato combinam duas tecnologias extremamente populares: XML (para a representação das informações) e ZIP (visando a geração de arquivos menores, uma vez que são empregadas para isto técnicas de compactação).

A manipulação de arquivos no padrão Open XML acontece através do uso do Open XML SDK. Este framework encontra-se atualmente na versão 2.5, possuindo total compatibilidade com as versões 2007, 2010 e 2013 do pacote Office.

Maiores informações sobre o Open XML SDK podem ser obtidas através do seguinte link:

http://msdn.microsoft.com/en-us/library/office/bb448854(v=office.15).aspx

As diferentes estruturas que compõem o Open XML SDK podem ser acessadas a partir do namespace DocumentFormat.OpenXml (desde que adicionada uma referência à biblioteca que corresponde a este framework, no caso o arquivo DocumentFormat.OpenXml.dll).

Para a realização de operações sobre as estruturas geradas em XML, o Open XML SDK vale-se de recursos da extensão LINQ, de forma a simplificar a execução de tarefas envolvendo a escrita e a leitura de informações. Já no que se refere à compactação no formato .zip, são empregados dispositivos de compactação presentes no namespace System.IO.Packaging (este último parte integrante da biblioteca WindowsBase.dll).

Os componentes que constituem o Open XML SDK tornam possível a geração de diferentes tipos de arquivos, tais como:

No próximo link consta um exemplo de como se utilizar o Open XML SDK para a manipulação de planilhas do Excel:

https://www.devmedia.com.br/excel-e-open-xml-sdk-gerando-novas-planilhas-xlsx-a-partir-de-templates/25854

Quanto à forma como se encontram estruturados, arquivos no formato Open XML estão organizados nas seguintes partes:

Na Figura 2 está um exemplo de arquivo no padrão Open XML aberto a partir do utilitário WinRAR. Trata-se de uma planilha .xlsx, sendo possível notar que a mesma foi estruturada sob a forma de um arquivo compactado.


Figura 2: Arquivo .xlsx sendo visualizado por meio do utilitário WinRAR

Benefícios do padrão Open XML

Levando em conta a integração entre o pacote Office e sistemas com as mais variadas finalidades, podem ser destacadas como vantagens decorrentes da adoção do padrão Open XML:

Conclusão

Conforme discutido ao longo deste artigo, o Open XML SDK é uma ferramenta bastante flexível, fornecendo meios para a geração de arquivos do Excel, Word e Power Point em aplicações .NET,sem que isto obrigue à instalação do pacote Office no computador em que tais sistemas serão utilizados. Essa característica já representa um grande avanço, uma vez que o uso de Interop obrigava à utilização de recursos do Office, bem como requeria um esforço maior no que se refere à configuração dos recursos que seriam empregados.

Outros pontos positivos da tecnologia Open XML estão na utilização de XML e da compactação no formato ZIP. Estes padrões são amplamente utilizados no mercado e, devido à sua abrangente documentação, tornam possível as mais variadas plataformas se integrar a este novo padrão do pacote Office.

Leitura complementar

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados