Importando uma planilha Excel para o SQL Server

Importando uma planilha Excel para o SQL Server

Nesta matéria do Web Mundi.com, aprenderemos como efetuar a importação de uma planilha Excel para o banco de dados MS-SQL Server.

Para importarmos dados de uma planilha Excel para o MS-SQL Server, utilizaremos a função OPENROWSET.

Esta função permite que você acesse e importe dados remotos de uma fonte de dados OLE DB, tais como Excel, Access, SQL Server, etc..

OPENROWSET pode ser referida na cláusula FROM de uma consulta como se fosse um nome de tabela Ou também pode ser referida como a tabela de destino de uma instrução INSERT, UPDATE ou DELETE, sujeita aos recursos do provedor OLE DB.

É uma funcionalidade muito útil quando queremos acessar ou Importar dados do Excel para o SQL Server sem utilizar DTS (Data Transformation Services) ou SSIS (SQL Server Integration Services).

/*

Query: Importando uma planilha Excel para um Banco de Dados SQL Server
Autor: Renato Sanches
http://www.webmundi.com/
*/

-- Habilitando as opções avançadas
-- Por padrão e por segurança, a opção vem desabilitada.

exec sp_configure
'show advanced options', 1
reconfigure

exec sp_configure
'Ad Hoc Distributed Queries', 1
reconfigure

--CRIANDO UM BANCO DE DADOS PARA ARMAZENAR OS DADOS DA IMPORTAÇÃO
--(Neste caso troque pelo nome do seu banco de dados)
CREATE DATABASE WEBMUNDI

--Colocando em uso o banco de dados WEBMUNDI (Neste caso, troque pelo nome do seu banco de dados)

USE WEBMUNDI

/* Criando a tabela com os meus atributos da planilha */
create table PRODUTOS(
COD_PROD INT NOT NULL PRIMARY KEY,
DESCRICAO VARCHAR(40) NOT NULL,
PRECO_VENDA NUMERIC (18,2) NULL,
QTD_ESTOQUE INT NULL )

/* Comando para importar a planilha na tabela */

INSERT INTO PRODUTOS SELECT
* FROM OPENROWSET ('Microsoft.Jet.OleDB.4.0',
'EXCEL 8.0;Database=C:\WEBMUNDI\PRODUTOS.XLS'
,Plan1$)

 

Em Database, deve-se informar o caminho e o nome da planilha, seguido do nome da PLANILHA + $.
Exemplo: Caminho: C:\WEBMUNDI\ Planilha: PRODUTOS.XLS, pasta Plan1.

Observação Importante

A primeira linha da planilha não é importada, pois é considerada como cabeçalho.
–Para visualizar o conteúdo da tabela produtos, basta dar um SELECT.
Select * from PRODUTOS

Arquivos :

Planilha: Produtos.xls
Query: importaexcel.sql

Obrigado

Espero que este artigo tenha sido útil e lhe ajudado a entender um pouco mais sobre a importação de planilhas em Excel para o banco de dados SQL Server

Se você gostou desta dica, compartilhe este artigo com seus amigos, nos acompanhe pelas redes sociais ou prestigie nossos anunciantes.

Obrigado e até a próxima dica!

Grande Abraço

Renato Sanches
Gestor de TI – Tecnologia da Informação
Trabalhando com o banco de dados SQL Server desde 1994

Posts Similares