none
Como exportar várias tabelas do SQL para um Arquivo Excel Novo em várias sheet's? RRS feed

  • Pergunta

  • Olá galera, me ajudem?

    Preciso de fazer alguns reports, e para isso, preciso exportar algumas tabelas para um arquivo excel em várias sheets. Só que eu gostaria de sempre gerar um arquivo novo com a data do dia que eu exportei. Acredito que isso seja feito por meio de script no SQL ou no SSIS, só que eu não fasso ideia de como seja. No SAS eu fazia um proc export e definia o nome do meu novo arquivo, só que no sql não faço ideia.


    Um exemplo disso é:

    Hoje é dia 30/10/2013

    então o arquivo sairia:

    relatórioGerencial20131030.xls(x)

    Amanhã, quando eu gerasse novamente, seria:

    dia 31/10/2013

    então o arquivo sairia:

    relatórioGerencial20131031.xls(x)

    • Editado umdantas quinta-feira, 31 de outubro de 2013 12:24
    quarta-feira, 30 de outubro de 2013 15:41

Todas as Respostas

  • Umdatas,

    Você poderia utilizar o comando de Import/Export dentro do Management Studio, configurando a origem e destino de dados, realizando o mapeamento entre as tables e Sheets.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 1 de novembro de 2013 17:22
  • Olá...

    Eu faço assim:

    INSERT INTO OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
    'Data Source=C:\Planilha.xlsx;Extended Properties=EXCEL 12.0;HDR=YES')
    SELECT Coluna1, Coluna2, Coluna3 FROM dbo.Tabela

    Mas.... nessa thread tem uma stored procedure que quebra um galhão...

    Lembrando que o usuário do serviço do SQLServer deve ter acesso à pasta que conterá o arquivo do Excel.

    Abraço !


    Não esqueça de marcar o post como útil caso tenha te ajudado.


    terça-feira, 5 de novembro de 2013 14:35
  • Olá Roberson,

    Sobre gerar tabelas e sheets, consegui pelo Wizard Import/Export pelo SSIS. Mas o problema é colocar o nome da planilha concatenado com a data atual. Tipo um:

    "relatório"+getdate()+".xlsx"

    terça-feira, 5 de novembro de 2013 14:51
  • UmDantas

    Certo... entendi.

    Tenho algo aqui que deve lhe ajudar... se a quantidade e título das colunas for sempre a mesma coisa. Faz +- esse trabalho... tudo automático.

    É o seu caso ?


    Não esqueça de marcar o post como útil caso tenha te ajudado.


    • Editado Roberson Naves terça-feira, 5 de novembro de 2013 16:38
    • Sugerido como Resposta Giovani Cr quarta-feira, 6 de novembro de 2013 18:28
    terça-feira, 5 de novembro de 2013 16:35
  • Talvez sim... Poderia me mostrar?

    sexta-feira, 8 de novembro de 2013 18:17
  • **E a mesma quantidade!!

    sexta-feira, 8 de novembro de 2013 18:18