Ir para conteúdo
Fórum Script Brasil
  • 0

Exportar resultado para CSV ou XLS


Raphael Brasil

Pergunta

Olá turma,

Preciso de uma grande ajuda, porém não entendo de SQL, tenho apenas noções bem rasteiras.

Pedi para um amigo desenvolver um programa de analise combinatória, porém estamos com um grande problema para exportar esses dados para um arquivo Excel. Deixa eu explicar do inicio!

Inicialmente ele desenvolveu utilizando o BD Mysql, no entanto ele tem um limite de 7 milhões de combinações e com isso ele migrou para SQl Server 2005 express, ele roda faz td direitinho, porém na hora que colocamos com o botão direito “Save results as...” e salvo como CSV ele junta numa mesma célula, e isso me prejudica na importação de outro sistema que importa a seqüência identificando cada numero de cada célula.

Ex: 1 2 3;4 5 6;7 8 9;10 11 12

Os que estão juntos separados ficam numa mesma célula! Podem me ajudar a exportar separando isso? Esse ; ele aparece na separação de cada Coluna!

Segue o comando para rodar a analise combinatória

select * from dbo.coluna0, dbo.coluna1, dbo.coluna2, dbo.coluna3

e o nome do meu bd é “analise”

Agradeço a quem puder me ajudar!

Abraço!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá Raphael!

Utilizo o SQL Server 2008 Express, mas esta dica também vale para as versões do SQL Server 2005.

O SQL Server possui Wizards para importação e exportação de dados. Além disso, um dos formatos disponíveis para exportação é justamente o formato excel (O CSV também pode ser utilizado se necessário).

Se os seus dados já estão em uma tabela no banco de dados "analise", basta acessar o SQL Server Management Studio, conectar o Object Explorer ao banco de dados e em seguida clicar com o botão direito do mouse sobre o banco de dados. No menu exibido, acesse o submenu "Tasks" e clique na opção "Export Data...".

Uma janela de wizard será exibida. Ela solicitará as informações de conexão para a fonte de dados (base de dados "analise" e para o destino, onde você poderá escolher o formato a ser utilizado). Nas opções de destino, você encontrará a opção "Microsoft Excel" e inclusive poderá escolher a versão do Excel a ser utilizada (97 / 2003 / 2007 / etc).

Caso o formato CSV seja necessário, você poderá selecionar o destino "Flat File" e informar os separadores a serem utilizados no arquivo de saída.

Você encontrará maiores informações sobre esta ferramenta nos links abaixo:

- MSDN - Using the SQL Server Import and Export Wizard to Move Data

- Database Journal - SQL Server 2005 Import / Export Wizard

Abraço!

Editado por Evandro Junqueira Ramos
Link para o comentário
Compartilhar em outros sites

  • 0

ahe..

o 2005 express n tem esse wizard..

tenta o seguinte: importa no excel;

no 2007 abre 1 planilha em branco, vai em Dados - obter dados externos - de outras fontes - do sql server;

na tela q vai abrir, em nome do servidor, preencha com o a sua instancia do sql server (Server name) e a autenticação normal, q você usa..

na 2ª tela selecione banco etc.. baba..

no excel 2003, c bem me lembro, acione diretamente Dados - imprtar dados externos - importar dados (novamente) - nova conexão ao sql server - ahe abre a tela q eu disse acima p/ você inserir o nme da instancia e modo de autenticação etc..

falou, fui..

Link para o comentário
Compartilhar em outros sites

  • 0

Perdão Raphael,

O recurso que citei realmente não está disponível na versão Express do SQL Server 2005.

A solução do Marcelo_2 pode resolver o seu problema.

Uma outra sugestão também seria modificar a query para atender ao formato CSV, como desejado.

Não sei se é a melhor opção, mas a consulta ficaria parecida com:

SELECT CAST(dbo.coluna0.campo0 AS VARCHAR(10) + ';' + CAST(dbo.coluna0.campo1 AS VARCHAR(10)) + ';' + .... + CAST(dbo.coluna3.campoN AS VARCHAR(10)) + ';'
FROM dbo.coluna0, dbo.coluna1, dbo.coluna2, dbo.coluna3

- Como eu não sabia quantas colunas cada tabela teria, utilizei campos fictícios (campo0, campo1, ... , campoN)

- Utilizei o tamanho 10 para representar o número convertido. Se necessário, você pode alterar este tamanho conforme sua necessidade

Desse modo, todos os campos do resultado foram concatenados utilizando o separador ";"

Se você utilizar o "Save result as...", deve obter o resultado esperado.

Abraço,

Editado por Evandro Junqueira Ramos
Link para o comentário
Compartilhar em outros sites

  • 0

ahe..

minha ultima bala na agulha..rss..

caso n d certo d outra forma

baixa 1 2008 express q tem o wizard..

caso quiser tentar tai o link p/ o 2008 express SP2:

http://www.microsoft.com/downloads/en/deta...;DisplayLang=en

(to usando no trampo c/ XP SP 3 - mas c liga q tem q instalar uns outros trecos no XP.. ;-)

Obs. vai ter q atualizar o management studio tb, ok?

boa sorte, cara.. falou, fui..

Editado por Marcelo_2
Link para o comentário
Compartilhar em outros sites

  • 0

Raphael,

Acho que você não entendeu..

O script que eu enviei precisa ser modificado de para atender às suas tabelas.... provavelmente deu erro naquele "+ ... + "

Eu coloquei uma sintaxe de exemplo, naquele script você precisaria colocar cada coluna de sua tabela convertendo ela para VARCHAR(10) e concatenando com um ";"

Se você puder passar os campos das tabelas eu posso montar o script final...

A sugestão do Marcelo também é boa, você não precisaria migrar toda a base de dados, bastaria instalar uma instancia do SQL Server 2008 com o Management Studio e utilizar o Wizard para exportar os dados.

Abraço!

Muito obrigado Marcelo, mas o excel tem um limite que só abre 1milhão de linhas! Dai não consigo abri-lo!

Evandro,

Com esse comando está dando erro de "Sintaxe incorreta próxima a '+'."

Caso possa interagir pelo TeamViewer e me ajudar agradeço profundamente!

Grande Abraço!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...