Como Exportar Dados do SQL Server para o Excel

Exportar tabela do SQL Server para o Excel

Em um artigo anterior, SQL e Excel: Por que você precisa tanto, mostrou-se que para muitas empresas o uso de SQL Server e o Excel é uma excelente abordagem para o gerenciamento de dados. Para organizações que usam o SQL Server e o Excel extensivamente, geralmente é necessário exportar dados do SQL Server para o Excel. Os motivos mais comuns para colocar os dados no Excel são:

  • produzir visualizações de dados, como tabelas e gráficos para uso em relatórios
  • agregada ou analisar dados em tabelas dinâmicas
  • agrupar dados de várias fontes para posterior transformação
  • tornar os dados disponíveis para não-usuários do banco de dados para exibir ou processo

neste artigo, vamos olhar como exportar dados do SQL Server para o Excel. O primeiro método usa o Assistente de Importação E Exportação do SQL Server, que pode ser usado para exportar dados para vários tipos de destino, não apenas para o Excel. O segundo método usa funcionalidade nativa no Excel. O terceiro método usa o suplemento SQL Spreads para Excel, que fornece funcionalidade além do processo de exportação. Existem prós e contras de cada método, que resumiremos no final do artigo.

Método (1): exportar usando o Assistente de Importação E Exportação do SQL Server

o Assistente de Importação E Exportação do SQL Server pode ser iniciado a partir do SQL Server Management Studio ou como um aplicativo independente.

de dentro do SQL Server Management Studio, clique no banco de dados do qual deseja exportar dados. Estamos usando o banco de dados de demonstração em nosso exemplo, então clique nele e, em seguida, clique com o botão direito e selecione Tarefas > exportar dados.

ssms_launch_export_wizard

a página de Boas-Vindas é exibida e você pode ir em frente e clicar em ‘Avançar’.

wizard_welcome

na próxima tela, selecione a fonte de dados. Para exportar do SQL Server, selecione ‘cliente nativo do SQL Server’.

wizard_select_data_source

depois de selecionar ‘SQL Server Native Client’, os detalhes sobre a fonte de dados serão preenchidos pelo assistente.

clique em ‘Avançar’ para ir para a próxima tela, onde você vai escolher o destino para a exportação, que para nós é o Excel.

wizard_select_data_destination_excel

quando você seleciona o Excel como a escolha do destino, você precisa fornecer a localização do arquivo Excel. Quando você clicar em ‘Avançar’, poderá ver a seguinte mensagem:

a operação não pôde ser concluída.
informações adicionais:
o ‘Microsoft.AS.OLEDB.16.0 ‘ provedor não está registrado na máquina local. (Sistema.Dados)

wizard_warning

a razão pela qual esta mensagem aparece é que quando você inicia o Assistente de Importação E Exportação do SQL Server a partir do SSMS, uma versão de 32 bits do assistente é iniciada (porque o SSMS é de 32 bits) e seu sistema operacional é de 64 bits. Há mais informações sobre isso aqui.

para contornar isso, você precisa fechar SSMS e ir ao Menu Iniciar do Windows e procurar a versão de 64 bits do Assistente de Importação E Exportação do SQL Server no Menu Iniciar. Observe que esta versão só será instalada no seu computador se você tiver instalado o SQL Server.

wizard_launch_from_start

uma vez iniciada a versão autônoma do assistente, você pode seguir as etapas discutidas até agora, que era especificar a origem e o destino da cópia de dados. Agora precisamos definir o que queremos copiar e (opcionalmente) configurar a operação de cópia.

depois de clicar em ‘Avançar’ na tela ‘Escolher um destino’, você especifica se deseja exportar uma ou mais tabelas ou visualizações completas ou um subconjunto de dados por meio de uma consulta SQL. No nosso caso, estamos exportando de uma única tabela, para que possamos deixar a opção padrão selecionada.

em seguida, vamos editar os mapeamentos das colunas clicando no botão’ Editar mapeamentos…’. A tela de mapeamentos de coluna permite que você faça alterações no nome e no tipo de dados das colunas que serão criadas no Excel pela operação de cópia. Em nosso exemplo, vamos alterar o tipo de dados para a coluna ‘order_date’ de VarChar para DateTime. Deixaremos os outros como o padrão definido pelo assistente. Clique Em ‘Avançar’. A próxima tela do assistente resume que a origem é uma tabela SQL chamada sales e o destino será para uma planilha chamada ‘sales’ na pasta de trabalho do Excel. Você pode alterar o nome da folha conforme necessário.

feito isso, clique em ‘ Ok ‘ para fechar a caixa de diálogo e depois em ‘Avançar’.

se algum dos mapeamentos que especificamos pode não ter sucesso no processo de exportação, o Assistente de Importação E Exportação do SQL Server mostra a Página de mapeamento de tipo de dados de revisão. Esta página destacará as conversões que o assistente precisa executar para lidar com os mapeamentos que você especificou. Também indica o que o assistente fará se houver um erro durante a conversão. Ele pode ignorar o erro ou fazer com que a exportação falhe. Em nosso exemplo, várias colunas foram sinalizadas: aquelas em que há uma conversão de nvarchar(max) para seu equivalente do Excel, texto longo e também a conversão de VarChar para DateTime para a coluna ‘order_date’. A configuração padrão é que o assistente falhe se houver um erro, então deixaremos essa opção no lugar.

wizard_review_data_mapping

Nota: Este assistente de Importação E Exportação SQL usa SSIS sob o capô; em outras palavras, cada vez que você executa o assistente, você está criando um pacote SSIS. É por isso que você tem a opção de salvá-lo para uso futuro.Clique Em ‘Avançar’. O assistente agora oferece a você a chance de salvar a configuração do assistente como um pacote SSIS, além da opção padrão de executar a cópia imediatamente.

vamos deixar a opção padrão marcada e clicar no botão ‘Avançar’.

o assistente agora exibe um resumo das etapas que configuramos.

wizard_complete_the_wizard

clique em ‘Concluir’ e o assistente agora mostrará a tela final, que é o resultado da execução. No nosso caso, a execução foi bem-sucedida e podemos ver que 5484 registros foram copiados para a planilha ‘Query’ em nossa pasta de trabalho do Excel.

wizard_execution_successful

podemos verificar se os dados foram exportados do SQL Server para o Excel abrindo o arquivo que especificamos e verificando a planilha ‘vendas’.

sales_data_in_excel

agora que os dados estão no Excel, podemos criar algumas visualizações ou agregações, ou qualquer outro processamento que desejemos realizar. Por exemplo, poderíamos criar um gráfico dinâmico para exibir o Total por item por região.

Método (2): Exportando usando funcionalidade nativa no Excel

embora o método em si seja praticamente o mesmo, a Microsoft fez melhorias nas últimas versões para a maneira como você obtém dados de outras fontes no Excel. A principal mudança foi a adição dos assistentes e Ferramentas De Importação de Dados Power Query como um componente nativo no Excel 2016. Eles são acessados a partir do Power Query Editor, embora não seja exibido como tal na faixa de Opções do Excel – em vez disso, ele é marcado como Get & Transform Data group na guia Dados da faixa de Opções do Excel.

excel_get_and_transform_data

as etapas descritas abaixo são válidas para o Excel 2016 e além.

para começar a exportar do SQL Server para o Excel, clique em dados > obter dados > do banco de dados > do banco de dados do SQL Server.

excel_getdata_fromsql

você será solicitado a entrar no servidor de banco de dados para se conectar e, opcionalmente, especificar um banco de dados. Se você não especificar um banco de dados, poderá selecionar entre os disponíveis na próxima tela.

excel_specify_server

Clique Em ‘Ok’. Em seguida, você será solicitado a fornecer detalhes de autenticação. O padrão é o Windows, então você pode ir em frente e clicar em ‘Conectar’.

excel_database_authentication

a próxima tela permite navegar pelos bancos de dados e tabelas no servidor de banco de dados que você especificou. Clique no banco de dados’ demo ‘para expandi-lo e clique na tabela’ vendas’. Os dados da tabela selecionada são exibidos na janela do lado direito. Agora podemos clicar no botão’ Carregar ‘ para obter os dados no Excel imediatamente. Alternativamente, podemos clicar em’ transformar dados ‘ para realizar transformações nos dados (por exemplo, alterar tipos de dados, limpar alguns dados, realizar cálculos). Para este exemplo, vamos apenas carregar os dados como estão, então vá em frente e clique em ‘Carregar’.

excel_navigate_to_db

os dados agora são exportados da tabela no SQL Server e carregados em uma nova planilha no Excel.

isso é tudo o que precisamos fazer para realizar uma exportação simples de uma tabela completa do SQL Server para o Excel. Além do procedimento simples que descrevemos aqui, os assistentes e Ferramentas De Importação de dados do Power Query fornecem maneiras de ‘moldar’ os dados de fontes externas. Por exemplo, você pode remover uma coluna, alterar um tipo de dados, mesclar tabelas para atender às suas necessidades específicas.

Método (3): Exportando usando SQL Spreads Add-in para Excel

se você ainda não tem o SQL Spreads Add-In para Excel instalado, você pode baixar uma cópia aqui.

depois que o SQL Spreads estiver instalado, você verá que ele foi adicionado como uma nova guia ribbon; vá aqui e clique no botão Design Mode.

sqlspreads_click_design_mode

no painel SQL Spreads Designer no lado direito, clique no botão Editar para abrir a caixa de diálogo de conexão do SQL Server.

sqlspreads_editconnection

insira o nome do seu SQL Server no campo Nome do SQL Server. Você também precisa escolher um método de autenticação: Windows-login (autenticação do Windows) ou autenticação do SQL Server (usando um nome e senha configurados no SQL Server). A autenticação do Windows é a mais segura das duas opções.

sqlspreads_connection_details

clique em OK. Os Spreads SQL tentarão se conectar ao banco de dados. Se a conexão for bem-sucedida, seus bancos de dados aparecerão no painel SQL Spreads Designer.

sqlspreads_designer_db_list

agora podemos expandir o banco de dados de demonstração e selecionar a tabela de vendas.

quando você clica na tabela, os dados são exportados imediatamente do SQL Server e copiados para uma planilha chamada ‘vendas’ no Excel.

sqlspreads_sales_data_in_excel

é isso! Conseguimos exportar dados do SQL Server para o Excel com apenas alguns cliques.

existem várias outras opções disponíveis para nós no SQL Spreads Designer. Por exemplo, podemos:

  • filtrar os dados que são exportados a partir do SQL Server
  • definir se determinados colunas são exibidas e/ou só de leitura
  • usar um look-up de valor para exibir texto em vez de um id para uma coluna
  • tipo de dados
  • fazer as atualizações em Excel e salvar as alterações para o SQL Server

Vamos olhar para algumas dessas opções em um futuro post do blog.

Resumo

Ser capaz de exportar dados do SQL Server para o Excel é um requisito comum na maioria das empresas. Analisamos três métodos para realizar esta tarefa do dia-a-dia. O primeiro usa o Assistente de Importação E Exportação do SQL Server, que é uma funcionalidade nativa no SQL Server. O segundo método usa as ferramentas nativas ‘Get & Transform’ no Excel. O terceiro usa o suplemento SQL Spreads para Excel.

Então qual método você deve usar?

se você normalmente trabalha com bancos de dados e o SSMS é sua segunda casa, provavelmente sentirá que o Assistente de importação e exportação do SQL Server é a melhor opção para você. Se você é um usuário do Excel, faz sentido trabalhar no próprio Excel para exportar dados do SQL Server. Ambas as duas opções do Excel que analisamos são robustas e fáceis de usar, mas o SQL Spreads tem uma vantagem distinta porque permite aos usuários fazer atualizações diretamente nos dados no Excel e salvar os dados de volta no SQL Server. Essa é uma grande vantagem para as organizações que gostam do melhor dos dois mundos: a facilidade de uso e familiaridade do Excel, com o poder e a integridade dos dados associados ao SQL Server.

Experimente o SQL Spreads para ver como é rápido e fácil exportar dados do SQL Server para o Excel; baixe uma versão de avaliação gratuita hoje mesmo.

Andy
Artigo por

Andy McDonald

Andy trabalhou mais de 20 anos na Engenharia, Financeiro e setores, análise de dados e apresentação usando ferramentas como o SQL Server, Excel, Power Consulta e Alimentação BI.

escreve para Spreads SQL sobre Excel e SQL Server e como amarrar esses dois juntos.

Leave a Reply

O seu endereço de email não será publicado.