none
Arquivo csv gerado pelo SQLServer com erro devido valores da coluna ser grande RRS feed

  • Pergunta

  • Ola.

    Alguém sabe com salvar o resultado de um select  em uma tabela em arquivo .csv ou excel .xlsx com a formatação correta?
    Fiz um select em uma tabela no banco SQLServer e gerei o resultado em um arquivos .csv
    Um dos campos é do tipo varchar(8000), Campo DESCRICAO.
    Quando o valor dentro dos campos é pequeno  a formatação aparece normal como em um excel.  Coluna ao lado de coluna .
    Quanto o valor de um campo da tabela  (campo DESCRIÇÃO por exemplo) tem muitas informações com uma a descrição  grande o arquivo .csv aparece com uma formatação errada. A Coluna fica na linha de baixo e desconfigurado.
    Já tentei gerar o .csv via tela no Management Studio e com a opção sqlcmd e a formatação no arquivo vem bagunçada. 

    Só consigo salvar o resultado com formatação correta se clicar dentro da célula do excel e colar o valor. 
    Mas na geração pelo SQLSERVER não consegui.

    Agradeço desde já ajuda.
    Simone


    sexta-feira, 14 de agosto de 2015 17:40

Respostas



  • Ola Pedro.
     Agradeço a ajuda, mas esta opção de Export direto para excel não deu certo porque eu tenho uma clausula WHERE no select e o export retornou todas linhas da tabela.
    Eu resolvi meu problema da seguinte maneira:
    Criei uma view com todos campos da tabela e usei a função SUBSTRING (DESCRICAO, 1,2000)
    Com isso limitei o campo DESCRICAO que é varchar (8000) para so trazer apenas os 2000 primeiros caracteres. 

    CREATE VIEW v_x (campo1,campo2, descricao)
    AS 
    SELECT  campo1,campo2, SUBSTRING (DESCRICAO ,1 ,2000)
    FROM db.dbo.minhatabela
    WHERE    meuwhere
    GO

    Obrigada!!

    Simone

    • Marcado como Resposta Marcos SJ segunda-feira, 17 de agosto de 2015 16:53
    segunda-feira, 17 de agosto de 2015 14:14

Todas as Respostas

  • Simonedba,

    De forma direta você não vai conseguir, o que poderá fazer é através do recurso de Import/Export dados existente dentro do Management Studio realizar a geração do arquivo no formato .XLS ou .CSV.

    Outra possibilidade é utilizar a ferramenta SQL Server Data Tools no SQL Server 2012 ou superior, ou BIDS no SQL Server 2008 R2 e através dos componentes existentes nestas ferramentas você poderá se conectar ao SQL Server e exportar os dados da maneira que deseja para o excel ou csv.


    Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sábado, 15 de agosto de 2015 00:46


  • Ola Pedro.
     Agradeço a ajuda, mas esta opção de Export direto para excel não deu certo porque eu tenho uma clausula WHERE no select e o export retornou todas linhas da tabela.
    Eu resolvi meu problema da seguinte maneira:
    Criei uma view com todos campos da tabela e usei a função SUBSTRING (DESCRICAO, 1,2000)
    Com isso limitei o campo DESCRICAO que é varchar (8000) para so trazer apenas os 2000 primeiros caracteres. 

    CREATE VIEW v_x (campo1,campo2, descricao)
    AS 
    SELECT  campo1,campo2, SUBSTRING (DESCRICAO ,1 ,2000)
    FROM db.dbo.minhatabela
    WHERE    meuwhere
    GO

    Obrigada!!

    Simone

    • Marcado como Resposta Marcos SJ segunda-feira, 17 de agosto de 2015 16:53
    segunda-feira, 17 de agosto de 2015 14:14