Mapear elementos XML para células num mapa XML

Aplica-se a
Excel para Microsoft 365 Excel 2024 Excel 2021

Para importar e exportar dados XML no Excel, utilize um mapa XML que associe elementos XML a dados nas células. Esta associação ajuda-o a obter os resultados que pretende. Para criar um mapa XML, precisa de um ficheiro de esquema XML (.xsd) e de um ficheiro de dados XML (.xml). Após criar o mapa XML, pode mapear elementos XML como quiser.

Dica

Para obter mais informações sobre como usar XML com o Excel, consulte a visão geral de XML no Excel.

Observação

O Excel para ambiente de trabalho do Windows é a única versão que oferece funcionalidades de mapeamento XML. Estas ferramentas não estão disponíveis no Excel para Mac nem no Excel para a Web.

Os mapas XML são uma funcionalidade legada. Em vários cenários, utilize Power Query no Excel para importar e transformar dados XML, especialmente em estruturas XML complexas ou aninhadas.

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. Veja como:

Access

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

    1. Selecione Arquivo>Abrir.
    2. Na caixa de diálogo Abrir , selecione e abra a base de dados na qual pretende criar uma nova tabela.
    3. Selecione oFicheiro de Textode Dados> Externos 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.
  2. Exporte os dados de uma tabela ligada para um ficheiro de dados XML e um ficheiro de esquema XML.

    1. Selecione Dados> ExternosMais>Arquivo XML (no grupo Exportar).
    2. Na caixa de diálogo Exportar - Arquivo XML, especifique o nome e o formato do arquivo e selecione 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 exibida, certifique-se de escolher dataroot para que você possa criar uma tabela XML.
  2. Crie uma tabela XML mapeando o elemento dataroot . Consulte Mapear elementos XML para obter mais informações.
  3. Importe o ficheiro XML que exportou do Access.

Em alternativa, pode utilizar o Power Query para importar dados XML diretamente sem criar um ficheiro de esquema XML.

Observação

  • 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 que você inclua elementos que não são declarados pelo esquema.
  • <anyAttribute> Esse elemento permite incluir atributos não declarados pelo esquema.
  • Estruturas recursivas Um exemplo comum de uma estrutura recursiva é a hierarquia de empregados 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 é um membro do grupo de substituição de outro elemento por meio 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 incluem 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+S 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 os passos 1 a 3 para criar um ficheiro para o segundo texto de exemplo.
  5. 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 (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

Crie um mapa XML adicionando um esquema XML a uma pasta de trabalho. Pode copiar o esquema de um ficheiro de esquema XML (.xsd) ou o Excel pode tentar inferir um a partir de um ficheiro de dados XML (.xml).

  1. Selecione Origem do desenvolvedor>.
    Modo de Exibição de Dados vazio
    Se você não vir a guia Desenvolvedor, consulte Mostrar a guia Desenvolvedor.

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

  3. Na lista Examinar , selecione a unidade, pasta ou localização da Internet que contém o arquivo que você deseja abrir.

  4. Selecione o ficheiro e, em seguida, selecione Abrir.

    • Para um ficheiro de esquema XML, o Excel cria um mapa XML baseado no esquema XML. Se for apresentada 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 tenta inferir o esquema XML a partir dos dados XML e, em seguida, cria um mapa XML.
  5. Selecione OK.
    O mapa XML aparece no painel de tarefas Origem XML .

Mapear elementos XML

Mapeie elementos XML para células de mapeamento individual 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.

  1. Selecione Origem do desenvolvedor>.
    Modo de Exibição de Dados vazio
    Se você não vir a guia Desenvolvedor, consulte Mostrar a guia Desenvolvedor.

  2. No painel de tarefas Origem XML , selecione os elementos que pretende mapear.
    Para selecionar elementos não adjacentes, selecione um elemento e, em seguida, mantenha premida a tecla Ctrl e selecione os elementos que pretende mapear.

  3. Para mapear os elementos, conclua as seguintes etapas:

    1. Clique com o botão direito do mouse nos elementos selecionados e selecione Mapear elemento.

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

      Dica

      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 Selecione esta opção para ignorar o cabeçalho do elemento XML, porque a célula já tem um cabeçalho (à esquerda ou acima dos dados).
      Colocar o Cabeçalho XML à Esquerda Selecione esta 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 Selecione esta 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 de tarefas Origem XML , selecione Opções para controlar mais o comportamento da tabela XML:
      Intercalar Automaticamente Elementos Ao Mapear Quando esta caixa marcar está selecionada, o Excel expande automaticamente as tabelas XML quando arrasta um elemento para uma célula adjacente à tabela XML.
      Meus dados têm títulos Quando essa caixa de marcação está marcada, os dados existentes podem ser usados como títulos de coluna ao mapear elementos repetidos para a planilha.

      Observação

      • Se todos os comandos XML estiverem esmaecidos e você não puder mapear elementos XML para nenhuma célula, a pasta de trabalho poderá ser compartilhada. Selecione Revisar>Pasta de Trabalho de Compartilhamento para verificar isso e removê-la do uso compartilhado, conforme necessário.

Se você quiser mapear elementos XML em uma pasta de trabalho que deseja compartilhar, mapeie os elementos XML para as células desejadas, importe os dados XML, remova todos os mapas XML e compartilhe a pasta de trabalho. > - Se você não puder copiar uma tabela XML que contenha dados para outra pasta de trabalho, a tabela XML poderá ter um mapa XML associado que define a estrutura de dados. Esse 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, conclua as seguintes etapas: > 1. Adicione um mapa XML à nova pasta de trabalho usando o arquivo .xml ou .xsd que você usou para criar o mapa XML original. Você deve salvar esses arquivos se quiser adicionar mapas XML a outras pastas de trabalho. > 1. Mapeie os elementos XML para a tabela para torná-la uma tabela XML. > > - Quando você mapeia um elemento XML repetido para uma célula mesclada, o Excel desfaz a mesclagem da célula. Esse é o comportamento esperado, pois os elementos repetidos são projetados para funcionar somente com células não mescladas.

Você pode mapear elementos XML únicos e não repetidos para uma célula mesclada, mas não é permitido mapear um elemento XML repetido (ou um elemento que contém um elemento repetido) para uma célula mesclada. A célula não é mesclada e o elemento é mapeado para a célula onde o ponteiro está localizado.

Dica

  • Você pode desmapear elementos XML que não deseja usar ou para impedir que o conteúdo das células seja substituído ao importar dados XML. Por exemplo, você pode desmapear temporariamente um elemento XML de uma única célula ou células repetidas que têm fórmulas que você não deseja substituir ao importar um arquivo XML. Quando a importação for concluída, você poderá mapear o elemento XML para as células da fórmula novamente, para que possa exportar os resultados das fórmulas para o arquivo de dados XML.
  • Para desmapear elementos XML, clique com o botão direito do mouse em seu nome no painel de tarefas Código-fonte XML e selecione Remover elemento.

Mostrar a guia Desenvolvedor

Se você não vir a guia Desenvolvedor , siga estas etapas para exibi-la:

  1. Selecione Arquivo>Opções.
  2. Selecione a categoria Personalizar Faixa de Opções .
  3. Em Guias principais, marque a caixa Desenvolvedor e selecione OK.

Confira também

Excluir informações de mapa XML de uma pasta de trabalho

Acrescentar ou substituir dados XML mapeados

Visão geral do XML no Excel

Importar dados XML

Exportar dados XML