Usuário com melhor resposta
Arquivo csv gerado pelo SQLServer com erro devido valores da coluna ser grande

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
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
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]
-
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