Artigo: 288215 - Última revisão: sexta-feira, 2 de Novembro de 2007 - Revisão: 4.2

Informações sobre o Microsoft Excel 2002 e XML

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sumário

Excel 2002 permite-lhe abrir e guardar ficheiros no formato XML (Extensible Markup Language). Este artigo fornece uma descrição geral de XML e folhas de estilo XML e como podem ser utilizados com o Excel. Os seguintes tópicos são abordados:

Mais Informação

O que é XML?

XML é um formato de texto para dados estruturados. Uma vez que XML é fácil criar e interpretar, é utilizado numa grande variedade de aplicações. Correcta ou correctamente formada, XML da seguinte forma um conjunto de linhas de orientação que determina a estrutura de dados mas permite a programação XML grande flexibilidade para criar um número ilimitado de personalizado tags que melhor descrevem os dados e relações que possam existir entre os dados.

Como o HTML, XML é uma linguagem de marcação que texto está organizado com uma combinação de códigos (palavras entre parênteses em ângulo < e >) e atributos (do nome do formulário = "valor"). Mas, enquanto que o HTML especifica o que significa cada tag e atributo e como deve ser composto para apresentação, o XML utiliza os códigos apenas para delineate elementos de dados. Uma vez que pode utilizar qualquer nome de código com XML, é responsabilidade única de uma aplicação para interpretar os dados e o respectivo significado. Apesar dos programadores XML serem livres para criar as etiquetas ou hierarquia melhor ajustar os respectivos dados, é um conjunto de especificações que devem ser seguidas para assegurar que o XML é considerado correctamente concebido . XML correctamente formado tem as seguintes características:
  • Contém exactamente um elemento de raiz com um nome exclusivo que não é apresentado no outro elemento no documento.
  • Elementos são correctamente aninhados para que não tags sobreposição entre elementos.
  • Todos os códigos de elementos são fechados.
  • Elemento de início e fim tags utilização consistente caso (o XML é sensível a maiúsculas e minúsculas).
  • Todos os atributos do elemento estão colocados entre aspas, única ou duplas.
  • Caracteres especiais (como, por exemplo &, <, >) são definidas como entidades incorporadas (&, <, >).
Segue-se um exemplo de XML correctamente concebido:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="dictionary.xsl" ?>
<Dictionary>
  <Entries>
    <Entry>
      <Word Type="1">Energetic</Word>
      <Definition>Having, exerting, or displaying energy</Definition>
    </Entry>
    <Entry>
      <Word Type="1">Happy</Word>
      <Definition>Enjoying, displaying, or characterized by pleasure or joy</Definition>
    </Entry>
    <Entry>
      <Word Type="2">Emotion</Word>
      <Definition>A complex, strong subjective response</Definition>
    </Entry>
  </Entries>
</Dictionary>
				
figura 1 - Well-formed XML exemplo (Dictionary.xml)
O XML na figura 1 descreve entradas de um dicionário. O elemento raiz é <dictionary> e a raiz contém um elemento subordinado chamado <entries>. <entries> contém três subordinados, descreve cada um dos quais os dados para uma entrada individual no dicionário. Para cada entrada, existem dois elementos subordinados: <word> e <definition>. O valor de cada elemento <Word> é a palavra próprio; <Word> elementos também têm um atributo de tipo que indica se a palavra é um adjective (1) ou um substantivo como (2). <definition> elementos têm um valor de texto e sem atributos.

O que é uma folha de estilos XML?

Tags XML descrevem os dados num ficheiro de texto, mas apenas XML não especifica como os dados devem ser apresentados ao utilizador. Regras de formatação para dados XML, muitas vezes, estão contidas em folhas de estilo XML. Folhas de estilo XML são documentos XML correctamente concebidos que utilizar Extensible Style Language (XSL) para transformar dados XML para apresentação. Pode ter muitas folhas de estilos para os mesmos dados XML. Enquanto a estrutura de dados XML real pode permanecem os mesmos, folhas de estilos permitem-lhe flexibilidade para apresentar os dados de muitas formas diferentes.
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <HTML>
      <BODY>
        <UL>
          <xsl:for-each order-by="+ Word" select="Dictionary/Entries/Entry">
            <LI>
              <B><xsl:value-of select="Word"/></B>
              <xsl:if test="Word[@Type='1']"><I>adj.</I></xsl:if>
              <xsl:if test="Word[@Type='2']"><I>n.</I></xsl:if>
              <BR/>
              <xsl:value-of select="Definition"/>
              <BR/><BR/>
            </LI>
          </xsl:for-each>
        </UL>
      </BODY>
    </HTML>
  </xsl:template>
</xsl:stylesheet>
				
figura 2: Stylesheet XML (Dictionary.xsl)

Dictionary.xsl, mostrado na figura 2, é uma folha de estilos que pode ser utilizada para transformar o exemplo Dictionary.xml. Os resultados de transformação de uma apresentação de HTML dos dados que podem ser visualizados num Web browser. O XSL ordena as entradas do dicionário por ordem alfabética na lista com marcas e formatos de cada componente da entrada de dicionário. O XML transformado que é apresentado no browser é semelhante ao seguinte:
  • emoções n.
    Uma resposta subjectiva complexa, forte

  • activo cambial
    Ter, exerting ou apresentar energia

  • Feliz cambial
    Desfrutar, visualizar ou caracterizado por prazer ou alegria

Experimente fora : copiar e colar o XML na figura 1 em qualquer editor de texto e guardá-lo como Dictionary.xml. Em seguida, copiar e colar a folha de estilos XML na figura 2 e o guardar como Dictionary.xsl na mesma pasta como Dictionary.xml. Inicie o Internet Explorer e navegue para Dictionary.xml.

Como Excel converter ficheiros XML?

O Excel pode abrir qualquer ficheiro XML é correctamente formado. Ficheiros XML podem ser abertos directamente do comando Abrir no menu ficheiro . Ficheiros XML também podem ser abertos programaticamente utilizando métodos de Abrir ou OpenXML da colecção de livros . Independentemente de se abrir o XML através de código ou através da interface de utilizador (UI, User Interface), o ficheiro está marcado como só de leitura para que não é possível acidentalmente substituir o ficheiro de origem original com um no XML Spreadsheet (XMLSS) format.

simplificação XML

No Excel, quando importa XML não está no formato XMLSS (XML Spreadsheet), o Excel utiliza um algoritmo flattening especial para carregar os dados em linhas e colunas. Folhas de cálculo do Excel são entidades bidimensionais compostas por linhas e colunas; dado que XML pode ter mais do que duas dimensões, a simplificação é necessário para interpretar o XML para que possa ser carregado em células numa folha de cálculo.

Tenha em consideração os seguintes dois conjuntos de XML, que representam basicamente os mesmos dados de formas diferentes:

<?xml version="1.0"?>
<Customer>
   <CustomerID>1234</CustomerID>
   <FirstName>John</FirstName>
   <LastName>Doe</LastName>
</Customer>
				
Figura 3: Cliente XML com elementos subordinados
<?xml version="1.0"?>
<Customer CustomerID="1234" FirstName="John" LastName="Doe"/>
				
Figura 4: cliente XML com atributos
Se carregar o XML na figura 3 no Excel, os dados importados para células conforme é ilustrado abaixo:

 ABC
1/Customer  
2/CustomerID/FirstName/LastName
31234JohnDoe

Excel trata atributos exactamente como elementos subordinados. Para eliminar conflitos de nome com elementos existentes, o Excel adiciona prefixo a arroba (@) à frente dos nomes de atributo para consistência com as normas de atribuição de nomes XSL padrões. Por conseguinte, o XML na Figura 4 é carregado em células da mesma forma, com excepção das células A2, B2 e C2 contenham "/@CustomerID", "/@FirstName" e "/@LastName", respectivamente.

O XML de cliente no ilustrações 3 e 4 segue uma estrutura bidimensional, que é fácil de ver. Mas tenha em consideração o seguinte XML de cliente, que não podem ser facilmente interpretados como bidimensional devido a adição do nível <order>:

<?xml version="1.0"?>
<Customers>
  <Customer>
    <CustomerID>1234</CustomerID>
    <FirstName>John</FirstName>
    <LastName>Doe</LastName>
    <Orders>
      <Order ProdID="AAA" Amt="10"/>
      <Order ProdID="BBB" Amt="3"/>
    </Orders>
  </Customer>
  <Customer>
    <CustomerID>5678</CustomerID>
    <FirstName>Alice</FirstName>
    <LastName>Smith</LastName>
    <Orders>
      <Order ProdID="AAA" Amt="5"/>
    </Orders>
  </Customer>
</Customers>
				
Figura 5: Cliente XML com dois níveis abaixo do elemento raiz

No XML na Figura 5, existe um cliente com duas encomendas e outro cliente com uma encomenda. O Excel tem de importar o XML de forma a que a relação entre encomendas e clientes mantém-se. Excel importa o XML para três linhas conforme é ilustrado abaixo:


 ABCDEFG
1/Customer      
2/Customer#id/Customer/CustomerID/Customer/CustomerID/#agg/Customer/FirstName/Customer/LastName/Customer/Orders/Order/@Amt/Customer/Orders/Order/@ProdID
3112341234JohnDoe10AAA
411234 JohnDoe3BBB
5256785678AliceSmith5AAA


Existem duas colunas adicionais: uma coluna #id que associa a linha com o nó <customer> e uma coluna #agg que representa o que pode ser considerado uma "FillDown". Com #agg, o valor do primeiro nó no nível acima é incluído uma vez e, em seguida, é omitido em restantes linhas.

Repare também que a coluna para <Amt> precede a coluna para <ProdID> mesmo que apareça a seguir <ProdID> no XML real. O flattener carrega os elementos por ordem alfabética da esquerda para a direita e não na ordem natural em que aparecem no documento XML original.

StyleSheets

A utilização de folhas de estilos permite fornecer vantagens significativas para abrir ficheiros XML no Excel. Utilizando uma folha de estilos, pode controlar melhor a forma como dados são colocados nas células e mesmo fornecer alguma formatação para as células. Quando abre um ficheiro XML no Excel e que ficheiro XML contém um ou mais instruções de processamento de folha de estilos xml , o Excel pede para seleccionar folhas de estilo que pretende utilizar para transformação.

Considere novamente o XML de cliente na Figura 5. Se adicionar uma instrução de processamento XML cliente ( <? tipo de folha de estilos xml = "texto/xsl" href="Customer.xsl"? >), pode controlar as colunas na folha de cálculo os dados aparecem na e aplicar a formatação personalizada. Segue-se um exemplo de folha de estilos que pode ser utilizado como uma transformação para o exemplo de XML de cliente.

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
   <HTML>
     <HEAD>
       <STYLE>   
         .HDR { background-color:bisque;font-weight:bold }
         .CustomerRow { border-top:thin solid black }
       </STYLE>
     </HEAD>
  
     <BODY>
       <TABLE>
         <COLGROUP WIDTH="100" ALIGN="CENTER"></COLGROUP>
         <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>
         <COLGROUP SPAN="2" WIDTH="80" ALIGN="CENTER"></COLGROUP>
         <TD CLASS="HDR">Customer ID</TD>
         <TD CLASS="HDR">Name</TD>
         <TD CLASS="HDR">Product ID</TD>
         <TD CLASS="HDR">Amount</TD>
         <xsl:for-each select="Customers/Customer">
           <TR>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="CustomerID"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="FirstName"/> <xsl:value-of select="LastName"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="./Orders/Order/@ProdID"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="./Orders/Order/@Amt"/>
             </TD>
           </TR>
           <xsl:for-each select="./Orders/Order">
             <xsl:if test="position() > 1">
               <TR>
                 <TD> </TD><TD> </TD>
                 <TD><xsl:value-of select="@ProdID"/></TD>
                 <TD><xsl:value-of select="@Amt"/></TD>
               </TR>
             </xsl:if>
           </xsl:for-each>
         </xsl:for-each>
       <TR><TD CLASS="CustomerRow" COLSPAN="4"> </TD></TR>
       </TABLE>
     </BODY>
   </HTML>
 </xsl:template>
</xsl:stylesheet>
Figura 6 - cliente XML Stylesheet (Customer.xsl)
A folha de estilos transforma o XML de HTML válidos (que Excel pode converter em formato nativo). Quando abre o XML de cliente com esta folha de estilos aplicada, o Excel apresenta os dados como uma tabela de quatro colunas com cabeçalhos (código do cliente, nome, ID do produto e valor). Também existem formatação como atributos de tipo de letra, cores de fundo de células e limites de células na tabela.

Experimente fora : copiar e colar o XML na Figura 5 em qualquer editor de texto e guardá-lo como Customer.xml. Em seguida, copie a folha de estilos XML na figura 6 e guarde-como Customer.xsl na mesma pasta como Customer.xml. Inicie o Excel 2002 e abra o ficheiro com e sem folha de estilos aplicada a ver as diferenças que torna a folha de estilos.

resolução de erros abrir ficheiros XML

Se tentar abrir um ficheiro XML que não está correctamente formado, receberá um alerta ou um 'script Analisar erro'. Quando aparecer um alerta, fornece uma descrição do motivo pelo qual não foi possível abrir o XML. A descrição do alerta pode também fornecer detalhes no nó que causou a conversão falha. Em alguns casos no qual existe um erro de análise, poderá receber uma caixa de diálogo que lista erros em vez de uma mensagem de alerta; script analisar erros são registados num ficheiro denominado XMLErr.log na pasta Temp. Para examinar rapidamente o conteúdo de XMLErr.log, siga estes passos:
  1. Numa linha de comandos, escreva cd % temp % e prima ENTER. A pasta actual muda para a pasta Temp.
  2. Na linha de comandos, escreva tipo xmlerr.log e prima ENTER para visualizar o conteúdo do ficheiro de registo.
Outro problema que poderá encontrar quando abre o ficheiro XML é que o Assistente de importação de texto é apresentado. Ficheiros XML são apenas os ficheiros de texto que são estruturados de forma muito específica. Para o Excel reconhece que o ficheiro que está a abrir é XML e não texto simples, o primeiro item no ficheiro XML tem de ser uma declaração de XML que contém, no mínimo, o nome reservado xml e um número de versão. O XML também tem de conter pelo menos um elemento (o elemento raiz):
<?xml version="1.0"?>
<MyXML>
</MyXML>
				

Formato XMLSS (XML Spreadsheet)

Excel pode guardar livros em XML. Quando guarda um livro como XML, o Excel guarda o livro no formato XMLSS (XML Spreadsheet). XMLSS descreve o conteúdo do livro persistência dados de células e fórmulas, formatos de célula, definições de folha de cálculo e definições do livro. No entanto, algumas funcionalidades do Excel não podem ser persistente em XML. Estes incluem:
  • Gráficos
  • Objectos OLE
  • Formas de desenho ou formas automáticas
  • Projectos do VBA
  • Grupo e destaques
XMLSS é um formato que é comum ao Excel 2002 e o componente de folha de cálculo do Office XP, para que ficheiros XMLSS podem ser partilhados entre os dois. Também pode criar as suas próprias folhas de estilos para os ficheiros XMLSS transformar os dados para outro formato para que podem ser partilhado com qualquer número de aplicações.

Integração de XML em soluções de Excel

Utilizar dados XML apresenta o programador com muitos opportunites para soluções de Excel 2002.

Por exemplo, pode criar livros multisheet em XMLSS em tempo de execução sem automatizar o Excel (que requer a carregar o ficheiro executável do Excel). Uma vez que Excel for um servidor de automatização out-of-process, chamadas para o modelo de objecto do Excel podem ser dispendiosas em termos de desempenho. Pode criar XMLSS completamente dentro do processo utilizando apenas o Microsoft XML Parser (MSXML) e folhas de estilo XML. Ou, pode utilizar o componente de folha de cálculo do Office XP (em processo) para criar uma folha de cálculo e obter o XMLSS da folha de cálculo. Em qualquer dos casos, o XMLSS resultante pode ser aberto directamente no Excel como um formato nativo. Por transmissão em sequência XMLSS aos browsers clientes utilizar tipo de conteúdo de MIME (Multipurpose Internet Mail Extensions) do Excel, aplicações, tais como os que ASP (Active Server Pages) pode criar livros complexos sem a sobrecarga da execução do Excel no servidor Web. Para exemplo código demonstra possíveis utilizações do XMLSS geração, clique números de artigo existentes abaixo para visualizar os artigos na base de dados de conhecimento da Microsoft:

288130  (http://support.microsoft.com/kb/288130/ ) Como utilizar o ASP para criar a folha de cálculo XML para apresentação do lado do cliente
285891  (http://support.microsoft.com/kb/285891/ ) Como utilizar o Visual Basic ou ASP para criar uma folha de cálculo XML para o Excel 2002 e Excel 2003
Outra utilização potencial de XML numa solução de Excel é extrair dados de um intervalo de células num formato que possa facilmente ser partilhado com outras aplicações. XMLSS podem ser extraídos de células numa folha de cálculo chamando a propriedade de valor do objecto Range com o parâmetro xlRangeValueXMLSpreadsheet . Pode utilizar uma folha de estilos para transformar o XMLSS para qualquer XML que pode ser utilizado por outra aplicação. Uma utilização possível deste é a transformar o XMLSS para XML personalizado que pode ser registado e processado por uma aplicação Web. Para obter um exemplo desta técnica, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:

278976  (http://support.microsoft.com/kb/278976/ ) Como utilizar XSL para transformar a folha de cálculo XML do Excel para utilização do lado do servidor

Referências

Para mais informações, consulte os seguintes Web sites:
World Wide Web Consortium (W3C)
http://www.w3.org (http://www.w3.org)
XSLT Developer ' s Guide
http://msdn2.microsoft.com/en-us/library/ms759204.aspx (http://msdn2.microsoft.com/en-us/library/ms759204.aspx)
Vistas XML
http://msdn2.microsoft.com/en-us/library/aa153035.aspx (http://msdn2.microsoft.com/en-us/library/aa153035.aspx)
XML Developer Center
http://msdn2.microsoft.com/en-us/xml/default.aspx (http://msdn2.microsoft.com/en-us/xml/default.aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2002 Standard Edition
Palavras-chave: 
kbmt kbinfo KB288215 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 288215  (http://support.microsoft.com/kb/288215/en-us/ )