Como importar dados de Microsoft SQL Server para o Microsoft Excel

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: 306125
Sumário
Este guia passo a passo descreve como importar dados para o Microsoft Excel de banco de dados Pubs, um banco de dados de exemplo incluído com o Microsoft SQL Server.

ActiveX Data Objects (ADO) fornecem acesso a qualquer tipo de fonte de dados. É um modelo de objeto simples com alguns objetos. Os principais objetos no modelo de objeto ADO são:
   Object          Description   -----------------------------------------------------------------------   Connection      Refers to the connection to the data source.   Recordset       Refers to the data extracted.   Command         Refers to a stored procedure or SQL statements that                    need to be executed.				
Embora existam muitas maneiras de retornar um conjunto de registros usando o ADO, este artigo concentra-se em objetos Recordset e a conexão.

Requisitos

Você deve ter um servidor local executando Microsoft SQL Server e que contém o banco de dados Pubs.

A Microsoft recomenda que ter conhecimento dos seguintes:
  • Criando Visual Basic for Applications procedimentos nos programas do Office.
  • Trabalhando com variáveis de objeto.
  • Trabalhando com objetos do Excel.
  • Conceitos de sistemas de gerenciamento de banco de dados (RDBMS) relacional.
  • Instruções de SELECT (SQL) linguagem SQL.

Referenciar a biblioteca de objetos ADO

  1. Inicie o Excel. Abra uma nova pasta de trabalho e salve-o como SQLExtract.xls.
  2. Inicie o Editor de Visual Basic e selecione o projeto do VBA.
  3. Sobre o Ferramentas menu, clique em Referências.
  4. Clique para selecionar a versão mais recente do Biblioteca de objetos de dados do Microsoft ActiveX caixa de seleção.

Criação da conexão

  1. Insira um novo módulo de projeto.
  2. Crie um novo procedimento Sub chamado DataExtract.
  3. Digite ou cole o seguinte código:
    ' Create a connection object.Dim cnPubs As ADODB.ConnectionSet cnPubs = New ADODB.Connection' Provide the connection string.Dim strConn As String'Use the SQL Server OLE DB Provider.strConn = "PROVIDER=SQLOLEDB;"'Connect to the Pubs database on the local server.strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"'Use an integrated login.strConn = strConn & " INTEGRATED SECURITY=sspi;"'Now open the connection.cnPubs.Open strConn					

Extração de dados

Digite ou cole o seguinte código para extrair os registros:
' Create a recordset object.Dim rsPubs As ADODB.RecordsetSet rsPubs = New ADODB.RecordsetWith rsPubs	' Assign the Connection object.	.ActiveConnection = cnPubs	' Extract the required records.	.Open "SELECT * FROM Authors"	' Copy the records into cell A1 on Sheet1.	Sheet1.Range("A1").CopyFromRecordset rsPubs		' Tidy up	.CloseEnd WithcnPubs.CloseSet rsPubs = NothingSet cnPubs = Nothing				

Verificando o código funciona

  1. Execute o código.
  2. Alterne para o Excel e observe Sheet1 na pasta de trabalho para exibir os dados.

Solução de problemas

Se seu código parece travar e você recebe um erro de tempo de execução, o servidor de banco de dados pode estar desligado. Você pode usar a propriedade ConnectionTimeout para controlar o tempo que leva para retornar um erro de tempo de execução. Defina esta propriedade para um valor maior que zero. Se você definir o valor como zero, a conexão nunca irá expirar. O valor padrão é 15 segundos.
Referências
Você pode encontrar o código de exemplo adicionais pesquisando o seguinte site da Microsoft:
ACC2002 xl2002 XL2003 XL2007

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 306125 - Última Revisão: 04/19/2012 03:19:00 - Revisão: 1.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition

  • kbhowtomaster kbmt KB306125 KbMtpt
Comentários