Para importar e exportar dados XML no Excel, será útil um Mapa XML que associa elementos XML a dados em células para obter os resultados pretendidos. Para criar um, tem de ter um ficheiro de esquema XML (.xsd) e um ficheiro de dados XML (.xml). Depois de criar o Mapa XML, pode mapear elementos XML da forma que pretender.
Dica: Encontrará mais informações sobre como utilizar XML com o Excel nesta descrição geral do XML no Excel.
Localizar ou criar ficheiros de dados XML e esquema XML
Se outra base de dados ou aplicação tiver criado um esquema XML ou um ficheiro de dados XML, poderá já tê-los disponíveis. Por exemplo, pode ter uma aplicação de linha de negócio que exporta dados para estes formatos de ficheiro XML, um web site comercial ou um serviço Web que fornece estes ficheiros XML ou uma aplicação personalizada desenvolvida pelo seu departamento de TI que cria automaticamente estes ficheiros XML.
Se não tiver os ficheiros XML necessários, pode criá-los ao guardar os dados que pretende utilizar como um ficheiro de texto. Em seguida, pode utilizar o Access e o Excel para converter esse ficheiro de texto nos ficheiros XML de que precisa. Veja como:
Access
-
Importe o ficheiro de texto que pretende converter e ligue-o a uma nova tabela.
-
Clique em Arquivo > Abrir.
-
Na caixa de diálogo Abrir , selecione e abra a base de dados na qual pretende criar uma nova tabela.
-
Clique em Dados Externos > Ficheiro de Texto e siga as instruções para cada passo, certificando-se de que liga a tabela ao ficheiro de texto.
O Access cria a nova tabela e a exibe no Painel de Navegação.
-
-
Exporte os dados da tabela ligada para um ficheiro de dados XML e um ficheiro de esquema XML.
-
Clique em Dados Externos > Ficheiro XML (no grupo Exportar ).
-
Na caixa de diálogo Exportar - Ficheiro XML , especifique o nome e formato do ficheiro e clique em OK.
-
-
Saia do Access.
Excel
-
Crie um Mapa XML com base no ficheiro de esquema XML que exportou do Access.
Se a caixa de diálogo Múltiplas Raízes for apresentada, certifique-se de que escolhe dataroot para poder criar uma tabela XML.
-
Crie uma tabela XML ao mapear o elemento dataroot . Veja Mapear elementos XML para obter mais informações.
-
Importe o ficheiro XML que exportou do Access.
Observações:
-
Existem vários tipos de construções de elementos de esquema XML que o Excel não suporta. As seguintes construções de elementos de esquema XML não podem ser importadas para o Excel:
-
<qualquer> Este elemento permite-lhe incluir elementos que não são declarados pelo esquema.
-
<anyAttribute> Este elemento permite-lhe incluir atributos que não são declarados pelo esquema.
-
Estruturas recursivas Um exemplo comum de uma estrutura recursiva é uma hierarquia de funcionários e gerentes em que os mesmos elementos XML são aninhados em vários níveis. O Excel não suporta estruturas recursivas com mais de um nível de profundidade.
-
Elementos abstratos Estes elementos devem ser declarados no esquema, mas nunca são utilizados como elementos. Os elementos abstratos dependem de outros elementos que estão a ser substituídos pelo elemento abstrato.
-
Grupos de substituição Estes grupos permitem que um elemento seja trocado onde quer que outro elemento seja referenciado. Um elemento indica que é membro do grupo de substituição de outro elemento através do atributo <substitutionGroup> .
-
Conteúdo misto Este conteúdo é declarado através de mixed="true" numa definição de tipo complexo. O Excel não suporta o conteúdo simples do tipo complexo, mas suporta as etiquetas e atributos subordinados definidos nesse tipo complexo.
Utilizar ficheiros de dados XML e esquema XML de exemplo
Os seguintes dados de exemplo têm elementos e estruturas XML básicos que pode utilizar para testar o mapeamento XML se não tiver ficheiros XML ou ficheiros de texto para criar os ficheiros XML. Eis como pode guardar estes dados de exemplo em ficheiros no seu computador:
-
Selecione o texto de exemplo do ficheiro que pretende copiar e prima Ctrl+C.
-
Inicie o Bloco de Notas e prima Ctrl+V para colar o texto de exemplo.
-
Prima Ctrl+S para guardar o ficheiro com o nome do ficheiro e a extensão dos dados de exemplo que copiou.
-
Prima Ctrl+N no Bloco de Notas e repita o passo 1-3 para criar um ficheiro para o segundo texto de exemplo.
-
Saia do Bloco de Notas.
Dados XML de exemplo (Expenses.xml)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
Esquema XML de exemplo (Expenses.xsd)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Criar um Mapa XML
Pode criar um Mapa XML ao adicionar um esquema XML a um livro. O esquema pode ser copiado de um ficheiro de esquema XML (.xsd) ou o Excel pode tentar inferir um de um ficheiro de dados XML (.xml).
-
Clique em Desenvolvedor > Fonte.
Se você não vir a guia Desenvolvedor, consulte Mostrar a guia Desenvolvedor.
-
No painel de tarefas Origem XML , clique em Mapas XML e, em seguida, clique em Adicionar.
-
Na lista Procurar em , clique na unidade, pasta ou localização na Internet que contém o ficheiro que pretende abrir.
-
Clique no arquivo e clique em Abrir.
-
Para um ficheiro de esquema XML, o XML criará um Mapa XML com base no esquema XML. Se for apresentada a caixa de diálogo Múltiplas Raízes , escolha um dos nós de raiz definidos no ficheiro de esquema XML.
-
Para um ficheiro de dados XML, o Excel tentará inferir o esquema XML dos dados XML e, em seguida, criará um Mapa XML.
-
-
Clique em OK.
O Mapa XML é apresentado no painel de tarefas Origem XML .
Mapear elementos XML
Mapeie elementos XML para células de mapeamento único e células repetidas em tabelas XML para que possa criar uma relação entre a célula e o elemento de dados XML no esquema XML.
-
Clique em Desenvolvedor > Fonte.
Se você não vir a guia Desenvolvedor, consulte Mostrar a guia Desenvolvedor.
-
No painel de tarefas Origem XML , selecione os elementos que pretende mapear.
Para selecionar elementos não adjacentes, clique num elemento e, em seguida, mantenha premida a tecla Ctrl e clique em cada elemento que pretende mapear.
-
Para mapear os elementos, faça o seguinte:
-
Clique com o botão direito do rato nos elementos selecionados e clique em Mapear elemento.
-
Na caixa de diálogo Mapear elementos XML , selecione uma célula e clique em OK.
Dica: Também pode arrastar os elementos selecionados para a localização da folha de cálculo onde pretende que sejam apresentados.
Cada elemento aparece a negrito no painel de tarefas Origem XML para indicar que o elemento está mapeado.
-
-
Decida como pretende processar etiquetas e cabeçalhos de coluna:
-
Quando arrasta um elemento XML não existente para a folha de cálculo para criar uma célula com mapeamento único, é apresentada uma etiqueta inteligente com três comandos, que pode utilizar para controlar o posicionamento do cabeçalho ou etiqueta:
Os Meus Dados Já Têm Um Cabeçalho Clique nesta opção para ignorar o cabeçalho do elemento XML, porque a célula já tem um cabeçalho (à esquerda dos dados ou acima dos dados).
Colocar Cabeçalho XML à Esquerda Clique nesta opção para utilizar o cabeçalho do elemento XML como a etiqueta da célula (à esquerda dos dados).
Colocar Cabeçalho XML Acima Clique nesta opção para utilizar o cabeçalho do elemento XML como cabeçalho da célula (acima dos dados).
-
Quando arrasta um elemento XML repetido para a folha de cálculo para criar células repetidas numa tabela XML, os nomes dos elementos XML são automaticamente utilizados como cabeçalhos de coluna para a tabela. No entanto, pode alterar os cabeçalhos de coluna para os cabeçalhos pretendidos ao editar as células do cabeçalho da coluna.
No painel de tarefas Origem XML , pode clicar em Opções para controlar ainda mais o comportamento da tabela XML:
Mesclar os Elementos Automaticamente Durante o Mapeamento Quando esta caixa de verificação está selecionada, as tabelas XML são expandidas automaticamente quando arrasta um elemento para uma célula adjacente à tabela XML.
Meus Dados Possuem Cabeçalhos Quando esta caixa de verificação está selecionada, os dados existentes podem ser utilizados como cabeçalhos de coluna quando mapeia elementos repetidos para a sua folha de cálculo.
Observações:
-
Se todos os comandos XML estiverem desativados e não conseguir mapear elementos XML para células, o livro poderá ser partilhado. Clique em Rever > Partilhar Livro para verificar e removê-lo da utilização partilhada, conforme necessário.
Se quiser mapear elementos XML num livro que pretende partilhar, mapeie os elementos XML para as células que pretende, importe os dados XML, remova todos os mapas XML e, em seguida, partilhe o livro.
-
Se você não conseguir copiar uma tabela XML que contém dados para outra pasta de trabalho, a tabela XML poderá ter um Mapa XML associado que define a estrutura de dados. Este Mapa XML é armazenado na pasta de trabalho, mas quando você copia a tabela XML para uma nova pasta de trabalho, o Mapa XML não é incluído automaticamente. Em vez de copiar a tabela XML, o Excel cria uma tabela do Excel que contém os mesmos dados. Se você quiser que a nova tabela seja uma tabela XML, faça o seguinte:
-
Adicione um Mapa XML à nova pasta de trabalho usando o arquivo .xml ou .xsd usado para criar o Mapa XML original. Você deve salvar esses arquivos se quiser adicionar Mapas XML a outras pastas de trabalho.
-
Mapeie os elementos XML para a tabela para torná-lo uma tabela XML.
-
-
Quando você mapeia um elemento XML repetido para uma célula mesclada, o Excel desaprege a célula. Esse é o comportamento esperado, pois elementos repetidos são projetados apenas para funcionar com células não mescladas.
Você pode mapear elementos XML únicos e não recorrentes para uma célula mesclada, mas o mapeamento de um elemento XML repetido (ou um elemento que contém um elemento repetitivo) para uma célula mesclada não é permitido. A célula será não mesclada e o elemento será mapeado para a célula onde o ponteiro está localizado.
-
-
Dicas:
-
Você pode desmarque elementos XML que não deseja usar ou impedir que o conteúdo das células seja substituído ao importar dados XML. Por exemplo, você pode remover temporariamente um elemento XML de uma única célula ou células repetidas que tenham fórmulas que você não deseja substituir ao importar um arquivo XML. Quando a importação for concluída, você pode mapear o elemento XML para as células de fórmula novamente, para que você possa exportar os resultados das fórmulas para o arquivo de dados XML.
-
Para desmarcar elementos XML, clique com o botão direito do mouse em seu nome no painel De origem XML e clique em Remover elemento.
Mostrar a guia Desenvolvedor
Se não vir a guia Desenvolvedor, faça o seguinte para exibi-la:
-
Clique em Arquivo > Opções.
-
Clique na categoria Personalizar Faixa de Opções.
-
Em Guia Principais, marque a caixa Desenvolvedor e clique em OK.
Confira também
Excluir informações de mapa XML de uma pasta de trabalho