O Office 2003 tem como grande destaque o suporte ao padrão XML.
Esta característica adicionou vários recursos a todos os aplicativos do
Office. No Excel, as possilibidade vão desde a importação até a exportação e
edição facilitada dos arquivos neste padrão. No artigo Porque XML,
encontra-se uma explicação das vantagens do uso deste formato no dia-a-dia e
nas aplicações construídas no Excel. No artigo Importando e editando um
arquivo XML encontra-se uma explicação completa sobre como trabalhar com
este tipo de arquivo utilizando os recursos nativos no Excel.
Um recurso disponibilizado pelo Excel para trabalhar com arquivos neste padrão
é o de mapeamento de arquivos XML. Mas afinal é que é mapeamento?
Suponha que você possua um cadastro simples de CDs. Nele você possui as
colunas ou atributos Nome, Titulo, Autor e Ano de lançamento do CD. Cada
coluna representa uma informação, e esta provavelmente terá seu significado,
apresentação e restrições. Por exemplo, não faria sentido se a coluna Ano
recebesse um valor de texto ou ano inconsistente, como 9999 ou qualquer outro
posterior a data atual. Você provavelmente colocaria todas estas validações
utilizando recursos como formatação, fórmulas ou mesmo validações. Esse
processo pode ser chamado de mapeamento.
O mapeamento então é um processo de definir regras e padrões de uma
determinada entidade, no caso acima, a entidade CD. O que é então mapeamento
XML no Excel? Como explicado no artigo Porque XML, os arquivos XML
possuem 3 padrões. XML, que contém dados, XSD que contém definições de
estrutura e XSL que contém formatação e apresentação. O Excel é capaz de,
através de arquivos XML ou XSD, definir um mapeamento de entidade para uma
planilha ou uma área desta.
Usando o arquivo de catálogo de CDs, cujo este consta em anexo, com uma pasta
de trabalho em branco aberta, acione o Painel de Tarefas (Ctrl+F1). Clique no
topo do Painel para acionar o menu e selecione a opção Código-fonte XML para mostrar como abaixo:
Com este Painel ativado, clique na botão Mapas XML na parte inferior da janela. A seguinte caixa de diálogo será apresentada:
Esta tela permite gerenciar os mapas já adicionados, alterar, excluir e renomear. Os mapas podem ser tanto arquivos XML como arquivos XSD. A diferença entre os dois ficará clara mais adiante. Nesta tela, clique no botão Adicionar, selecione o arquivo catalogo.xml salvo em seu computador e clique em abrir. Se for a primeira vez que efetua a adição de um mapa XML no Excel, a seguinte tela será apresentada:
O que o Excel fez foi inferir um esquema para o XML. A vantagem é não precisar construir manualmente um arquivo XSD. A desvantagem é que não é possível usufruir das vantagens da integridade proposta pelo XSD, o que será mostrado mais adiante. Clique em OK nesta janela para ver o seguinte resultado:
Clique em OK nesta tela para ver o arquivo listado e sua estrutura no Painel de tarefas:


| <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="CATALOGO"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="unbounded" name="CD"> <xsd:complexType> <xsd:sequence> <xsd:element name="TITULO" type="xsd:string"/> <xsd:element name="ARTISTA" type="xsd:string"/> <xsd:element name="PAIS" type="xsd:string"/> <xsd:element name="COMPANIA" type="xsd:string"/> <xsd:element name="PRECO" type="xsd:decimal" /> <xsd:element name="ANO" type="xsd:integer" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> |
Nota-se que além das informações básicas das colunas como nome e tipo,
outras propriedades são adicionadas ao arquivo. Além dos tipos demonstrados,
existem outros como o tipo date, além de existir outros propriedades de
validação como ocorrência mínima e máxima de registros.
Com estas validações, é perceptível o nível de controle que se pode ter
sobre as informações inseridas na planilha. Todas estas validações são
acessíveis através de rotinas VBA, que é a forma mais adequada de
manipulação destes recursos. Existem objetos particulares dedicados a
manipulação destes elementos XML como XmlMap, que possui métodos de
importação, exportacão e validação de conteúdo XML nas planilhas.
A pergunta que fica é: como e em que situação tirar proveito destas
funcionalidades?
O cenário mais comum em que estes recursos podem (e até devem) ser
utilizados é em um ambiente coorporativo, onde a integração de sistemas com
o processos realizados pelos departamentos é necessária. Como a informação
gerada é sempre feita no padrão de cada departamento, imagine ter que
consolidar informações de diferentes documentos e planilhas com diferentes
formatos em um sistema? Esse é uma dos grandes problemas enfretados pelas
empresas pois não é uma tarefa fácil ter módulos de um sistema feitos sob
medida para cada área. O mais comum é que, quando as ferramentas
disponibilizadas pelas empresas não são suficientes para os departamentos,
cada um cria seus próprios processos internos através de documentos e
planilhas, pois é a ferramenta que mais conhecem. Isso é bom por dar
liberdade de criar suas próprias soluções, mas faz com que informações
fiquem "soltas", gerando descontrole por parte dos sistemas e desconforto
por parte da gerência, que não tem informações reais em mãos para traçar
suas estratégias por estas estarem espalhadas.
É aqui que o XML entra em cena. Não seria necessário impedir o uso das
soluções personalizadas ou mesmo construir um grande módulo de sistema para
integrar as informações dos departamentos. Permitindo que estes continuem
utilizando suas ferramentas, bastaria criar formatos padrões através de
arquivos XML que serviriam como mapas para estes documentos e planilhas,
forçando os usuários a sempre validar suas informações antes de serem
inseridas de forma transparente. Quando estes documentos estiverem
preenchidos, já estarão com informações e formatos necessários para que o
departamento de TI da empresa possa fazer todas manipulações necessárias com
a garantia de consistência das informações.
É por isso que no setor de TI, XML é sinônimo de integração.
Conclusão
Conhecendo os recursos que o Microsoft Excel disponibiliza para manipulação
de XML, é possível tornar as soluções mais profissionais, tanto para
usuários intermediários como avançados que pretendem desenvolver e integrar
seus sistemas com aplicações Office e vice-versa. Além disso,
profissionalmente é um grande diferencial para um profissional de Office ter
conhecimentos em XML, visto que este formato já um padrão na maioria das
aplicações coorporativas e soluções de internet, independente da tecnologia
utilizada.
Tomás Vásquez
http://www.tomasvasquez.com.br