Importando uma planilha Excel no SQL Server

domingo, 17 de janeiro de 2010 Postado por Luis Fernando

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.


/* 
 * Projeto: Importação de planilhas Excel no SQL Server 
 * Autor: Luis Fernando de Souza Santos
 * Data: 17/01/2010 
 * Versão SQL Testada: 2008 Express Edition
**/

-- Habilitando as opções avançadas 
-- Por default e por questões de segurança, essas 
-- opções vêm desabilitadas.
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=C:\departamento.XLS',Func$
);

-- Em "Database=C:\departamento.XLS',Func$", deve-se informar 
-- o nome do arquivo, seguido do nome da "planilha" + $.
-- Exemplo: Arquivo DEPARTAMENTO.XLS, Planilha Func.

-- Pronto! Aí para visualizar, é só dar um SELECT na tabela.

Para saber mais: http://msdn.microsoft.com/en-us/library/ms190312.aspx

Marcadores: ,

Postar um comentário