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.

Sugestão

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

Nota

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 na 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. Faça o seguinte:

Access

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

    1. Selecione Abrir Ficheiro>.
    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 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. 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 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.

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

Nota

  • 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+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 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 (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

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>.
    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 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 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 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>.
    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, 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.

      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 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 de verificação está selecionada, o Excel expande automaticamente as tabelas XML quando arrasta 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.

      Nota

      • Se todos os comandos XML estiverem desativados e não puder mapear elementos XML para células, o livro poderá ser partilhado. Selecione Rever>Partilhar Livro para verificar essa situação e removê-lo da 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, execute os seguintes passos: > 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. > 1. 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 é anulada e o elemento é mapeado para a célula onde está localizado o ponteiro do rato.

Sugestão

  • Também pode anular o mapeamento de elementos XML que não pretende utilizar ou para impedir que os conteúdos das células sejam substituídos 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 da fórmula, pelo que pode 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 selecione Remover elemento.

Mostrar o separador Programador

Se não vir o separador Programador , siga estes passos para o apresentar:

  1. SelecioneOpçõesde arquivo>.
  2. Selecione a categoria Personalizar Friso .
  3. Em Separadores Principais, selecione a caixa Programador e selecione OK.

Consulte também

Eliminar informações de mapas XML de um livro

Acrescentar ou substituir dados XML mapeados

Descrição geral de XML no Excel

Importar dados XML

Exportar dados XML