Por que eu devo ler este artigo: Neste artigo vou demonstrar como efetuar Select, Insert e Update direto na planilha de Excel utilizando o SQL.

Primeiro precisamos saber como acessar um documento de Excel, depois precisamos manipular as planilhas que estão dentro deste documento.

Crie um documento de Excel, e salve o mesmo na raiz do C:\Excel. A planilha deve ser configurada conforme abaixo. Podemos notar que os dados, foram selecionados, isso se deu, pois temos que criar um conjunto de celular e nomear a mesma. Para fazer isso basta selecionar os dados e nomear o conjunto de células, neste exemplo demos o nome de (“Exemplo”)

sql-19-03-2008pic01.JPG

Para que os próximos passos corram tudo bem se certifique que o arquivo esta fechado e nenhum outro usuário esta utilizando o mesmo.

Depois da criação do documento .xls, podemos partir para o SQL.

Como o Excel não é um Sistema Gerenciador de Banco de Dados, e por isso não interpreta a linguagem SQL, utilizaremos um mecanismo muito conhecido de acesso a dados o Jet.

Para ter acesso a planilha precisamos criar um servidor linkado, para isso utilizaremos uma Stored Procedure chamada sp_addlinkedserver, especificando como parâmetro a localização do nosso arquivo .xls.

Temos que ter cuidado nos próximos passos, o caminho e nome do arquivo devem ser passados corretamente para tudo funcionar. Outro ponto é a passagem de parâmetro do caminho e o nome os mesmos são case sensitive.

Vamos Criar o Link de Conexão.

sql-19-03-2008pic02.JPG

Para verificar se o Link de Acesso ao Excel foi criado sem nenhum erro excutamos o código abaixo.

sql-19-03-2008pic03.JPG

Se aparecer um erro como o abaixo.

sql-19-03-2008pic04.JPG

Verifique se o arquivo esta aberto ou outra pessoa esta utilizando o mesmo ou o caminho fornecido esta correto.

Caso tudo esteja correto, precisamos alterar o nosso modo de conexão do link pelo Enterprise Manager.

Após abrir o Enterprise Manager, vamos localizar link, conforme figura abaixo.

sql-19-03-2008pic05.JPG

Clicamos com o botão direto sobre o link e vamos mexer nas Properties (Propriedades).

Deverá abrir uma tela de propriedades com três abinhas, a primeira com informações em geral a segunda é a aba de segurança e a terceira são outras opções.

A que nos interessa é a de segurança, clicamos nela.

sql-19-03-2008pic06.JPG

Note que a opção de conexão esta marcada para utilizar o atual contexto de segurança.

Para que o link funcione temos que mudar para sem contexto de segurança.

sql-19-03-2008pic07.JPG

Após a alteração, voltamos para o Query Analyzer, e rodamos novamente nossa instrução SQL, o resultado será como abaixo.

sql-19-03-2008pic08.JPG

Retornamos todas as planilhas, inclusive o nome de nosso conjunto de células.

Agora o mais difícil fizemos, criamos a conexão do SQL com o Excel.

Para acessar os dados através do SQL, basta passar a instrução com o nome de nosso conjunto de células.

sql-19-03-2008pic09.JPG

O resultado será os dados de nosso conjunto de células.

Através deste link podemos facilmente, passar os dados de uma planilha para uma tabela em nosso servidor, ou ate manipular a planilha segue:

Para inserir um dado na planilha basta utilizar a instrução Insert:

sql-19-03-2008pic10.JPG

Para alterar um dado da planilha utilizamos á instrução do Update:

sql-19-03-2008pic11.JPG

A única instrução que o Jet não permite em planilhas de Excel e o Delete.

Para remover o link basta executarmos o comando abaixo ou excluí-lo no Enterprise Manager.

sql-19-03-2008pic12.JPG