Como importar dados de Microsoft SQL Server para o Microsoft Excel

Traduções deste artigo Traduções deste artigo
ID do artigo: 306125 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

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.Connection
    Set 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.Recordset
Set rsPubs = New ADODB.Recordset

With 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
	.Close
End With

cnPubs.Close
Set rsPubs = Nothing
Set 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:
http://msdn.microsoft.com/

Propriedades

ID do artigo: 306125 - Última revisão: quinta-feira, 19 de abril de 2012 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Palavras-chave: 
kbhowtomaster kbmt KB306125 KbMtpt
Traduçã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 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: 306125

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com