Início > Comandos SQL > Importando uma planilha Excel no SQL Server

Importando uma planilha Excel no SQL Server

L&A Soluções – Consultoria em Banco de Dados SQL Server ( Suas informações em boas mãos! )

Fonte e direitos autorais de: Site Código Fonte por Ricardo Leme.

O objetivo desse script é importar de uma forma bem simples, uma planilha XLS do Excel para o Banco de Dados.
O procedimento é útil principalmente quando o cliente já possui, por exemplo, uma base de dados legada e a única fonte é uma planilha do Excel.
Para isso, utilizaremos a função OPENROWSET.
Para saber mais: http://msdn.microsoft.com/en-us/library/ms190312.aspx

Script:
— Habilitando as opções avançadas
— Por default e por questões de segurança, essas opções vem desabilitada.
sp_configure ‘show advanced options’, 1
reconfigure
sp_configure ‘Ad Hoc Distributed Queries’, 1
reconfigure

/* Criando a tabela com os meus atributos da planilha */
create table funcionario(
Código INT NOT NULL PRIMARY KEY
,    Nome VARCHAR(100) NOT NULL
,    Admissão SMALLDATETIME NULL
,    Departamento VARCHAR(100) NULL )

/* Comando para importar a planilha na tabela */
INSERT INTO funcionario
SELECT * FROM OPENROWSET (‘Microsoft.Jet.OleDB.4.0’, ‘EXCEL 8.0;Database=F:\departamento.XLS’ ,Dados$)

/* Em Database, deve-se informar o nome da planilha, seguido do nome da “pastinha” + $.
Exemplo: Planilha DEPARTAMENTO.XLS, pasta Dados.*/

–Aí para visualizar, é só dar um SELECT na tabela.
Select * from funcionario

—————————————————————————————————-

SSIS – Carregando arquivos EXCEL

Utilizando um Excel como base para o PowerView

Exportando dados do SQL Server 2008 para Excel (.XLSX)

Importando arquivos excel usando o SSIS

Erro em JOB para gerar Excel com SQL Server Integration Services

Como conectar o Excel com o SQL Server

Links auxiliares:
http://codigofonte.uol.com.br/codigo/sql/sql-server/importando-uma-planilha-excel-no-sql-server
http://support.microsoft.com/kb/321686/pt-br
http://msdn.microsoft.com/pt-br/library/ms190312.aspx

Alex Souza
L&AConsultoria - Logo

Categorias:Comandos SQL Tags:
  1. Stéfano Tavares Diane
    27/05/2013 às 21:00

    se não funcionar, verifique se o office é 32bits e sql server 64bits, se for deve instalar o Microsoft Access Database Engine 2010 Redistributable disponível em (
    http://www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en ) usando o comando [AccessDatabaseEngine_x64 /passive ]

  2. Rosynara Lima
    29/03/2015 às 22:32

    Meu SQLServer é 64bits, e comigo funcionou assim, após instalar o AccessDatabaseEngine_x64:
    SELECT * FROM OPENROWSET (‘Microsoft.ACE.OLEDB.12.0’, ‘Excel 12.0 Xml;Database=F:\departamento.XLSX’ ,Dados$)

    Detalhe do arquivo Excel: se vc digitar os dados em uma linha e apagar, o OpenRowSet vai considerar esta linha. Para que ele desconsidere esta linha, é necessário excluir a linha da planilha.

  1. 09/10/2012 às 13:25
  2. 08/03/2013 às 17:15
  3. 08/03/2013 às 17:19
  4. 11/03/2013 às 20:41
  5. 08/04/2013 às 09:25
  6. 20/05/2013 às 09:27
  7. 14/10/2013 às 16:20
  8. 05/03/2014 às 16:28
  9. 04/08/2014 às 10:34

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: