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.
Microsoft Excel 2002 e Microsoft Office Excel 2003 oferecem suporte a um formato XML com o qual eles podem carregar e salvar pastas de trabalho (ou planilhas XML). Usando este formato de planilha XML, você pode criar multi-sheet, formatado pastas de trabalho para o Excel sem usar automação. Essa abordagem pode ser desejável quando você precisa para criar um Excel pasta de trabalho, mas não é viável para automatizar o Excel (como em um servidor Web ou de um serviço) ou Excel não está instalado no sistema em que seu código é executado.
Este artigo ilustra como você pode criar um modelo XML que, quando usado com transformação XSL (linguagem de folha de estilos extensível), gera uma pasta de trabalho formatada que pode ser aberta diretamente no Excel. O XML é demonstrada transformação para Active Server Pages (ASP) e Visual Basic. Com relação ao exemplo de código Visual Basic, os dados da planilha são gerados somente com XML/XSL; automação mínimo é usada para abrir os resultados no Excel.
Observação O exemplo descrito neste artigo está disponível para download; para instruções de download, consulte a seção de download no final deste artigo.
No Excel, inicie uma nova pasta de trabalho. Adicione os seguintes dados A1:F2 células da pasta de trabalho nas células indicado. Célula F2 devem ser inseridos como uma fórmula.
A1: Order ID B1: Product ID C1: Unit Price D1: Quantity E1: Discount F1: Total
A2: aaa B2: 111 C2: 222 D2: 333 E2: 0 F2: =C2*D2*(1-E2)
Na célula F3, digite a seguinte fórmula:
=SUM(F$2:F2)
Selecionar as células A1:F1. No menu Formatar , clique em células . Aplicar uma fonte em negrito, uma borda inferior e uma cor sólida para o sombreado de célula. Clique em OK .
Selecione colunas A:F. no menu Formatar , aponte para coluna e, em seguida, clique em largura . Digite 15 para a nova largura da coluna e clique em OK . Com A:F colunas ainda selecionados, no menu Formatar , clique em células . Na guia Alinhamento , selecione Central da lista Alinhamento horizontal e, em seguida, clique em OK .
Selecione a coluna e. No menu Formatar , clique em células . Na guia número , clique em porcentagem e especificar 0 casas decimais e, em seguida, clique em OK .
Selecione a coluna f. No menu Formatar , clique em células . Na guia número , clique em estatísticas e, em seguida, clique em OK .
Selecionar as células A3:F3. No menu Formatar , clique em Altura da linha , digite 25 e, em seguida, clique em OK . Com A3:F3 ainda selecionados, no menu Formatar , clique em células . Aplicar uma borda superior às células e, em seguida, clique em OK .
No menu Ferramentas , clique em Opções . Na guia Exibir , desmarque a caixa de seleção linhas de grade e clique em OK .
Selecione a linha 2. No menu janela , clique em Congelar painéis .
Selecione a célula.
No menu arquivo , clique em Salvar como . Vá para a pasta C:\ExcelXML que você criou e salve a pasta de trabalho como "Orders.xsl" no formato Planilha XML .
Observação : na caixa de nome de arquivo na caixa de diálogo Salvar como , coloque o nome do arquivo entre aspas duplas para que uma extensão .XML não é adicionada ao nome do arquivo.
Feche o Excel.
Abra Orders.xsl em qualquer editor de texto, como o bloco de notas.
Insira o seguinte entre o <? xml versão = "1.0"? > marca e a marca <workbook>:
Salvar as alterações para Orders.xsl e feche o arquivo.
Usar o Visual Basic para transformar um recordset ADO persistentes XML em uma planilha XML
No Visual Basic, crie um EXE padrão novo projeto.
No menu Project , clique em referências . Selecione o tipo de bibliotecas para Microsoft ActiveX Data Object 2.5 (ou posterior) e Microsoft XML 3.0 .
Adicione um CommandButton ao Form1 e adicione o código a seguir para Click do botão evento:
Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"C:\program files\microsoft office\office10\samples\Northwind.mdb"
Const sOutXML = "C:\ExcelXML\Orders.xml"
Const sXSL = "C:\ExcelXML\Orders.xsl"
'Retrieve an ADO recordset of the Orders Detail table in Northwind.
Dim nRecords As Long, nFields As Long
Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM [Order Details]", sConn, adOpenStatic, adLockOptimistic
'Persist the recordset to a new DOMDocument and store the record count.
Dim oXML As New DOMDocument
rs.Save oXML, adPersistXML
nRecords = rs.RecordCount
nFields = rs.Fields.Count
rs.Close
'Load the XSL (the workbook template with XSL directives) into a DOMDocument.
Dim oXSL As New DOMDocument
oXSL.Load sXSL
'Transform the XML using the style sheet.
Dim oResults As New DOMDocument
oXML.transformNodeToObject oXSL, oResults
If oXSL.parseError.errorCode <> 0 Then
MsgBox "Parse Error: " & oResults.parseError.reason
Else
'Modify the ss:ExpandedRowCount attribute for the <table> node to
'indicate the correct number of rows (count of records + 1 row for
'the header + 1 row for the total).
Dim oTable As MSXML2.IXMLDOMElement
Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")
oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2
'***************************************
'Save the results to a file.
Open sOutXML For Output As #1
Print #1, oResults.xml
Close #1
'Open the XML in Excel.
Dim oExcel As Object
Set oExcel = CreateObject("Excel.Application")
oExcel.Workbooks.Open sOutXML
oExcel.Visible = True
oExcel.UserControl = True
'***************************************
End If
Observação se necessário, modifique a conexão seqüência de caracteres (Const sConn) para que contenha o caminho de instalação correto para o Access Northwind de exemplo banco de dados.
Pressione F5 para executar o programa.
Clique no botão no Form1. Os dados de detalhes pedidos tabela no banco de dados Northwind aparece no modelo de pasta de trabalho do Excel que você criou.
O exemplo gera a planilha XML e o Excel automatiza usando o método Open da coleção Workbooks para abrir o XML como uma nova pasta de trabalho. Como uma abordagem alternativa, você pode inserir diretamente o XML em uma planilha existente em uma célula específica. Para ilustrar, substitua o código que está contido entre os asteriscos com o seguinte:
'Display the data in a workbook starting at cell B2.
Dim oExcel As Object, oBook As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
oBook.Worksheets(1).Range("B2").Resize(nRecords + 2, nFields + 1).Value(11) = _
oResults.xml 'Note: xlRangeValueXMLSpreadsheet=11
oExcel.Visible = True
oExcel.UserControl = True
após fazer essa alteração, execute o programa novamente. Observe que, desta vez, os dados de planilha XML são inseridos uma nova pasta de trabalho começando na célula B2 da primeira planilha. Formatos e os dados da célula são aplicados ao intervalo; no entanto, usar essa abordagem, configurações específicas para as linhas, colunas, planilha e pasta de trabalho não são transportadas.
Usar o ASP para transformar um recordset ADO persistentes XML em uma planilha XML
Cole o seguinte código no bloco de notas. Salve o código como ExcelXML.asp na pasta raiz virtual do seu servidor Web. Observação A pasta da raiz virtual padrão é C:\inetpub\wwwroot.
<%@ Language="vbscript"%>
<%
Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\program files\microsoft office\office10\samples\Northwind.mdb"
Const sXSL = "C:\ExcelXML\Orders.xsl"
Response.Buffer = True
'Retrieve an ADO recordset of the Orders Detail table in Northwind.
Dim rs, nRecords
Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM [Order Details]", sConn, 3, 3
'Persist the recordset to a new DOMDocument and store the record count.
Dim oXML
Set oXML = CreateObject("Microsoft.XMLDOM")
rs.Save oXML, 1
nRecords = rs.RecordCount
rs.Close
'Load the XSL (the workbook template with XSL directives) into a DOMDocument.
Dim oXSL
Set oXSL = CreateObject("Microsoft.XMLDOM")
oXSL.Load sXSL
'Transform the XML using the style sheet.
Dim oResults
Set oResults = CreateObject("Microsoft.XMLDOM")
oXML.transformNodeToObject oXSL, oResults
If oXSL.parseError.errorCode <> 0 Then
Response.Write "Parse Error: " & oResults.parseError.reason
Else
'Modify the ss:ExpandedRowCount attribute for the <table> node in the XSL.
Dim oTable
Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")
oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2
'Return the resulting XML Spreadsheet for display in Excel.
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = "ISO-8859-1"
Response.Write oResults.XML
Response.Flush
End If
%>
Observação se necessário, modifique a conexão seqüência de caracteres (Const sConn) para que contenha o caminho de instalação correto para o Access Northwind de exemplo banco de dados.
Inicie o Internet Explorer e navegue até http:// YourWebServer / ExcelXML.asp, onde YourWebServer é o nome do seu servidor Web. Os dados de detalhes pedidos tabela no banco de dados Northwind aparece no modelo de pasta de trabalho do Excel que você criou.
Observações adicionais
Os seguintes recursos do Excel não podem ser mantidos com o XML formato de planilha:
Gráficos
Objetos OLE
Formas do desenho ou AutoFormas
Projetos do VBA
Grupo de estrutura de tópicos
Fazer o download
XMLSpread.exe contém a folha de estilos XML, projeto Visual Basic e script ASP descrito neste artigo. O seguinte arquivo está disponível para download no Centro de download da Microsoft:
Recolher esta imagemExpandir esta imagem
Download the Xmlsprd.exe package now.
(http://download.microsoft.com/download/excel2002/other/1.0/win98me/en-us/xmlsprd.exe)
Data de lançamento: 27 de março de 2001
Para obter mais informações sobre como baixar os arquivos de suporte da Microsoft, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
119591
(http://support.microsoft.com/kb/119591/
)
Como obter arquivos de suporte da Microsoft de serviços on-line
Microsoft examinou esse arquivo em busca de vírus. Microsoft utilizou o mais recente software de detecção de vírus que estava disponível na data em que o arquivo foi publicado. O arquivo é armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.
Para obter mais informações sobre como salvar conjuntos de registros ADO em XML, Formatar, consulte a seguinte site da Microsoft Developer Network (MSDN):
Para obter mais informações sobre fluxo de conteúdo MIME para Microsoft Office aplicativos, clique no números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
266263
(http://support.microsoft.com/kb/266263/
)
Erro: Word 2000 e Excel 2000 exibem origem ASP ao usar o tipo de MIME para fluxo de dados
199841
(http://support.microsoft.com/kb/199841/
)
Como exibir ASP resultados usando o Excel no Internet Explorer com tipos de MIME
271572
(http://support.microsoft.com/kb/271572/
)
Como formatar uma pasta de trabalho do Excel ao fluxo contínuo de conteúdo MIME
307021
(http://support.microsoft.com/kb/307021/
)
Como transferir dados XML para o Microsoft Excel 2002 usando o Visual Basic .NET
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 285891
(http://support.microsoft.com/kb/285891/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.