Mapear elementos XML para células num Mapa XML

Para importar e exportar dados XML no Excel, ser-lhe-á útil um mapa XML que associa elementos XML a dados nas células para obter os resultados que pretende. Para criar um, precisa de ter um ficheiro de esquema XML (.xsd) e um ficheiro de dados XML (.xml). Após criar o mapa XML, pode mapear elementos XML como quiser.

Sugestão: Encontrará mais informações sobre como utilizar XML com o Excel nesta descrição geral de XML no Excel.

Localizar ou criar ficheiros de esquema XML e de dados XML

Se um ficheiro de esquema XML ou de dados XML tiver sido criado por outra base de dados ou aplicação, já poderá tê-los disponíveis. Por exemplo, poderá ter uma aplicação de linha de negócio que exporta dados para estes formatos de ficheiro XML, um 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 ficheiro de texto. Em seguida, pode utilizar tanto o Access como o Excel para converter esse ficheiro de texto nos ficheiros XML de que precisa. Eis como:

Access

  1. Importe o ficheiro de texto que pretende converter e ligue-o a uma nova tabela.

    1. Clique em Ficheiro > Abrir.

    2. Na caixa de diálogo Abrir, selecione e abra a base de dados na qual pretende criar uma nova tabela.

    3. 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 apresenta-a no Painel de Navegação.

  2. Exporte os dados de uma tabela ligada para um ficheiro de dados XML e um ficheiro de esquema XML.

    1. Clique em Dados Externos > Ficheiro XML (no grupo Exportar).

    2. Na caixa de diálogo Exportar - Ficheiro XML especifique o nome e formato do ficheiro e clique em OK.

  3. Saia do Access.

Excel

  1. 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 seleciona dataroot para poder criar uma tabela XML.

  2. Criar uma tabela XML ao mapear o elemento dataroot. Consulte o artigo Mapear elementos XML para obter mais informações.

  3. Importe o ficheiro XML que exportou do Access.

Notas: 

  • Existem vários tipos de construções de elementos de esquema XML que não são suportados pelo Excel. As seguintes construções de elementos de esquema XML não podem ser importadas para o Excel:

  • <any>    Este elemento permite-lhe incluir elementos não declarados pelo esquema.

  • <anyAttribute>    Este elemento permite-lhe incluir atributos não declarados pelo esquema.

  • Estruturas recursivas    Um exemplo comum de uma estrutura recursiva é uma hierarquia de funcionários e gestores na qual os mesmos elementos XML estão aninhados em vários níveis. O Excel não suporta estruturas recursivas com mais do que um nível de profundidade.

  • Elementos abstratos    Estes elementos são para ser apenas declarados no esquema e nunca para ser utilizados como elementos. Os elementos abstratos dependem da substituição de outros elementos pelo elemento abstrato.

  • Grupos de substituição    Estes grupos permitem a troca de um elemento sempre que haja referência a outro elemento. 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 utilizando mixed="true" numa definição de tipo complexo. O Excel não suporta os conteúdos simples do tipo complexo mas suporta as etiquetas e atributos secundários definidos nesse tipo complexo.

Utilizar ficheiros de esquema XML e de dados XML de exemplo

Os seguintes dados de exemplo têm elementos e estruturas XML que pode utilizar para testar o mapeamento XML se não tiver ficheiros XML ou ficheiros de texto para criar ficheiros XML. Eis como pode guardar estes dados de exemplo em ficheiros no seu computador:

  1. Selecione o texto de exemplo do ficheiro que pretende copiar e prima Ctrl+C.

  2. Inicie o Bloco de Notas e prima Ctrl+V para colar o texto de exemplo.

  3. Prima Ctrl+G para guardar o ficheiro com o nome de ficheiro e extensão dos dados de exemplo que copiou.

  4. Prima Ctrl+N no bloco de notas e repita o passo 1 a 3 para criar um ficheiro para o segundo texto de exemplo.

  5. Saia do Bloco de Notas.

Dados XML de exemplo (Despesas.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 (Despesas.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

Para criar um Mapa XML tem de adicionar um esquema XML a um livro. O esquema pode ser copiado de um ficheiro de esquema XML (.xsd) ou então o Excel pode tentar inferir um a partir de um ficheiro de dados XML (.xml).

  1. Clique em Programador > Origem.

    Vista de Dados vazia

    Se não vir o separador Programador, consulte o artigo Mostrar o separador Programador.

  2. No painel de tarefas Origem XML, clique em Mapas XML e, em seguida, clique em Adicionar.

  3. Na lista Procurar em, clique na unidade, pasta ou localização da Internet que contém o ficheiro que pretende abrir.

  4. Clique no ficheiro e, em seguida, clique em Abrir.

    • Para um ficheiro de esquema XML, o XML irá criar um Mapa XML baseado no esquema XML. Se surgir a caixa de diálogo Múltiplas Raízes, selecione um dos nós de raiz definidos no ficheiro de esquema XML.

    • Para um ficheiro de dados XML, o Excel irá tentar inferir o esquema XML a partir dos dados XML e cria, em seguida, um Mapa XML.

  5. Clique em OK.

    O Mapa XML é apresentado no painel de tarefas Origem XML.

Mapear elementos XML

O mapeamento de elementos XML em células de mapeamento individual e células repetidas em tabelas XML serve para criar uma relação entre a célula e o elemento de dados XML no esquema XML.

  1. Clique em Programador > Origem.

    Vista de Dados vazia

    Se não vir o separador Programador, consulte o artigo Mostrar o separador Programador.

  2. 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 nos elementos que pretende mapear.

  3. Para mapear os elementos faça o seguinte:

    1. Clique com o botão direito do rato nos elementos selecionados e clique em Mapear elemento.

    2. Na caixa de diálogo Mapear elementos XML, selecione uma célula e clique em OK.

      Sugestão: Também pode arrastar os elementos selecionados para a localização da folha de cálculo onde quer que apareçam.

      Cada elemento aparece a negrito no painel de tarefas Origem XML para indicar que está mapeado.

  4. Determine como quer controlar etiquetas e cabeçalhos de coluna:

    • Ao arrastar um elemento XML não repetitivo para a folha de cálculo para criar um célula de mapeamento exclusivo, é apresentada uma smart tag 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, pois a célula já tem um cabeçalho (à esquerda ou acima dos dados).

      Colocar o Cabeçalho XML à Esquerda    Clique nesta opção para utilizar o cabeçalho do elemento XML como etiqueta da célula (à esquerda dos dados).

      Colocar o Cabeçalho XML Em Cima    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 de repetição para a folha de cálculo para criar células repetidas numa tabela XML, os nomes do elemento XML são utilizados automaticamente como cabeçalhos de coluna para a tabela. Contudo, pode alterar os cabeçalhos de coluna editando as células de cabeçalho de coluna.

      No painel da tarefas Origem XML, pode clicar em Opções para mais opções de controlo do comportamento da tabela XML:

      Intercalar Elementos Automaticamente ao Mapear    Quando esta caixa de verificação está selecionada, as tabelas XML são automaticamente expandidas ao arrastar um elemento para uma célula adjacente à tabela XML.

      Os Meus Dados Têm Cabeçalhos    Quando esta caixa de verificação está selecionada, os dados existentes podem ser utilizados como dados de colunas ao mapear elementos de repetição para sua folha de cálculo.

      Notas: 

      • Se todos os comandos XML estiverem desativados e não puder mapear elementos XML para células, o livro poderá ser partilhado. Clique em Rever > Partilhar Livro para verificar essa situação e remover a utilização partilhada, conforme necessário.

        Se pretender 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 não for possível copiar uma tabela XML que contenha dados para outro livro, a tabela XML poderá ter um Mapa XML associado que define a estrutura dos dados. Este Mapa XML é armazenado no livro, mas quando copiar a tabela XML para um novo livro, 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 quiser que a nova tabela seja uma tabela XML, faça o seguinte:

        1. Adicione um Mapa XML ao novo livro utilizando o ficheiro .xml ou .xsd que utilizou para criar o Mapa XML original. Deverá guardar estes ficheiros se pretender adicionar Mapas XML a outros livros.

        2. Mapeie os elementos XML para a tabela para a transformar numa tabela XML.

      • Quando mapeia um elemento XML de repetição para uma célula intercalada, o Excel anula a intercalação da célula. Este comportamento está previsto, porque os elementos de repetição foram concebidos para trabalhar apenas com células cuja intercalação foi anulada.

        Pode mapear elementos XML únicos e de não repetição para uma célula unida, mas não é permitido mapear um elemento XML de repetição (ou um elemento que contenha um elemento de repetição) para uma célula unida. A união da célula será anulada e o elemento será mapeado para a célula onde está localizado o ponteiro do rato.

Sugestões: 

  • Pode desmimiar elementos XML que não quer usar, ou evitar que o conteúdo das células seja substituído quando importa dados XML. Por exemplo, pode anular temporariamente o mapeamento de um elemento XML de uma única célula ou de células de repetição com fórmulas que não quer substituir ao importar um ficheiro XML. Quando a importação estiver concluída, pode mapear novamente o elemento XML para as células de fórmula, para que possa exportar os resultados das fórmulas para o ficheiro de dados XML.

  • Para anular o mapeamento de elementos XML, clique com o botão direito do rato no seu nome no painel de tarefas Origem XML e clique em Remover elemento.

Mostrar o separador Programador

Se não vir o separador Programador, faça o seguinte para o apresentar:

  • No Excel 2010 e nas versões mais recentes:

    1. Clique em Ficheiro > Opções.

    2. Clique na categoria Personalizar Friso.

    3. Em Separadores Principais, selecione a caixa Programador e clique em OK.

  • No Excel 2007:

    1. Clique no botão microsoft Office Imagem de botão do Office > Opções Excel.

    2. Clique na categoria Popular.

    3. Em Opções principais para trabalhar com o Excel, selecione a caixa Mostrar o separador Programador no Friso e clique em OK.

Consulte Também

Eliminar informações do mapa XML de um livro

Dados XML mapeados por apêndice ou sobredebrulhados

Visão geral do XML no Excel

Importar dados XML

Exportar dados XML

Nota:  Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode indicar-nos se estas informações foram úteis? Eis o artigo em inglês para sua referência.​

Precisa de mais ajuda?

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×