KB-47758: Exportando dados do SQL Server para o Excel.

Descrição:

Como exportar uma tabela do SQL Server para o Excel?

Solução:

Para isto, siga estes procedimentos:

1. Crie uma planilha cuja primeira linha será o cabeçalho para suas colunas.

2. Crie uma Consulta no Elipse E3, executando o método OPENROWSET do SQL para abrir uma conexão com planilha Excel desejada. Depois, utilize o método SELECT para selecionar as colunas da tabela. Exemplo:

INSERT INTO OPENROWSET (‘Microsoft.ACE.OLEDB.12.0’, ‘Excel 12.0; DATABASE=E:\RelatorioNiveis.xlsx;’, ‘SELECT Data, Nivel1, Nivel2 FROM [Plan1$]’)
SELECT E3TimeStamp, Nivel1, Nivel2 FROM Niveis

Se o Servidor não estiver configurado para permitir a execução de consultas do tipo AD Hoc, o seguinte erro de acesso pode ser gerado: “SQL Server blocked access to STATEMENT ‘OpenRowset/OpenDatasource’ of component ‘Ad Hoc Distributed Queries’… “. Para solucionar este problema, é necessário executar o código abaixo em uma consulta no Studio do SQL Server:

EXEC sp_configure ‘show advanced options’, 1;
RECONFIGURE;
EXEC sp_configure ‘Ad Hoc Distributed Queries’, 1;
RECONFIGURE;

Caso seja gerado o erro informando que não foi possível criar uma instância do servidor OLE DB 12 para o servidor vinculado, será necessário baixar o aplicativo AccessDatabaseEngine.exe, que contém o driver Microsoft.ACE.OLEDB.12.0.

Se o problema ainda persistir, execute o código abaixo em uma consulta no Studio do SQL Server:

USE [master]
GO
EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′,N’AllowInProcess’, 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N’Microsoft.ACE.OLEDB.12.0′,N’DynamicParameters’, 1
GO

Obs.: Esse exemplo foi desenvolvido com o SQL Server Express 2008 R2 e o Microsoft Excel 2010.

Anexos:

SQLExcel

Este artigo foi útil? Was this post helpful?
Yes1
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *