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

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

Ola pessoal, uma situação que muitas vezes ocorre é que precisamos exportar dados do SQL Server para o Excel, mas é quando devemos exportar para o Excel com a extensão: .XLSX?Se não tivermos o OLE DB especifico instalado, iremos dar de cara com a seguinte mensagem:

Mensagem 7357, Nível 16, Estado 2, Linha 1
Não é possível processar o objeto “Select LoginID, JobTitle From [Sheet1$]”. O provedor do OLE DB “Microsoft.ACE.OLEDB.12.0” para o servidor vinculado “(null)” indica se o objeto não tem colunas ou se o usuário atual não tem permissões sobre esse objeto.

Como devemos proceder
1. Passo devemos baixar e instalar o 2007 Office System Driver: Data Connectivity Components
2. Agora é só criar o arquivo que deseja exportar, como no exemplo o AdvWorks_Jobs.xlsx que se encontra no drive D:
3. E execute os passos abaixo:— Habilitando Queries Ad Hoc


USE master;

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

Use AdventureWorks2008;
GO
INSERT INTO OPENROWSET (‘Microsoft.ACE.OLEDB.12.0’, ‘Excel 12.0;Database=D:\AdvWorks_Jobs.xlsx;’,
‘Select LoginID, JobTitle From [Sheet1$]’)
Select LoginID, JobTitle From HumanResources.Employee
Go

Pronto… Exportado com Sucesso

Importando uma planilha Excel no SQL Server

Como conectar o Excel com o SQL Server

Fonte: Blog do Sr. Alexandre Lopes
Alex Souza
L&AConsultoria - Logo

17 comentários em “Exportando dados do SQL Server 2008 para Excel (.XLSX)”

  1. Se preferir tb pode-se usar o assistente de importação e exportação do SQL Server.
    Para ter acesso a ele é só ir em Iniciar, Executar, digite DTSWIZARD, OK e é só utilizar.

  2. Boa tarde
    Tenho sim o SQL Native Client instalado.

    So nao consigo exportar, pois aparece a msg do OLE DB que nao está registrado? Alguma outra sugestão?

    1. Josivan,
      Creio que este problema seja o drive OLE DB que esta querendo exportar, vc quer exportar para o excel?

      Abraço!

      1. Na verdade o que eu preciso é exportar para um .txt, tentei fazer rodar o teu exemplo pq foi o unico que achei legal na net, porém quando mando exportar para .txt acontece o mesmo problema.

        INSERT INTO OPENROWSET(‘Driver={Microsoft Text Driver (*.txt; *.csv)};’,
        ‘DefaultDir=C:\Diretorios;’,’select * from Arquivo.txt’)
        SELECT numcad from db_cooper.r034fun where numcad = 3836

        Erro:

        Msg 7403, Level 16, State 1, Line 1
        O provedor do OLE DB “Driver={Microsoft Text Driver (*.txt; *.csv)};” não foi registrado.

        Abraço

Deixe um comentário