Ir para o conteúdo do rodapé
USANDO O IRONXL

C# Maneira mais rápida de exportar DataTable para o Excel

Ao trabalhar com planilhas, o aplicativo Microsoft Excel é uma ferramenta popular projetada para gerenciar grandes conjuntos de dados em formato tabular. Ele oferece recursos poderosos, como cálculos complexos, visualização de dados através de gráficos e tabelas dinâmicas, e suporte para automação via Visual Basic for Applications (VBA). Suas ferramentas robustas de análise e visualização de dados fizeram do Excel uma escolha líder em várias indústrias. Com o Excel, você pode facilmente criar, editar, visualizar e compartilhar arquivos, simplificando suas tarefas de gerenciamento de dados.

Em C#, o objeto DataTable na biblioteca ADO.NET representa dados tabulares dentro de um programa, assim como uma planilha do Excel. Ele organiza dados em linhas e colunas, permitindo fácil manipulação e exportação. Assim como o Excel, DataTable suporta opções de filtragem, ordenação e formatação, tornando-se uma ferramenta ideal para gerenciar intervalos de dados em C#. No entanto, o DataTable é criado em tempo de execução e seus dados são perdidos quando o aplicativo é fechado, a menos que seja exportado para um formato mais permanente, como um arquivo Excel ou arquivo CSV.

Hoje, exploraremos como criar um DataTable em C# e exportar seus dados para um documento Excel usando o IronXL, uma poderosa biblioteca Excel .NET.

IronXL: Uma Biblioteca Excel .NET

IronXL é uma biblioteca para C# .NET que simplifica o processo de criação de arquivos Excel. Com IronXL, você pode criar novas planilhas, editar as existentes, trabalhar com fórmulas do Excel, estilizar as células da sua planilha e muito mais. Sua rica gama de recursos torna o trabalho com arquivos Excel de forma programática muito fácil e, o mais importante, o IronXL funciona sem a necessidade do Microsoft Office Interop. Isso significa que não há necessidade de instalar o Microsoft Office ou quaisquer outras dependências especiais.

Com o IronXL, você pode salvar ou exportar dados em diferentes formatos, como XLS e XLSX, dados CSV e TSV, JSON, XML e HTML, Binário e Array de Bytes. Ele também possui fortes recursos de segurança de workbook, como adicionar permissões e senhas, e permite editar os metadados do workbook.

Passos para Exportar Dados de DataTable para Arquivo Excel

Pré-requisitos

Para usar o IronXL na exportação de dados de DataTable para arquivo Excel em C#, precisamos que os seguintes componentes estejam instalados no computador local. Vamos analisá-los um por um.

  1. Visual Studio - O Visual Studio é o IDE para programação em C# e deve estar instalado. Você pode baixar e instalar a versão mais recente do site do Visual Studio.

    • Uma vez que o IDE esteja configurado, um aplicativo de Console/formulário do Windows precisa ser criado para ajudar a exportar o DataTable para Excel. As capturas de tela a seguir mostram como criar um projeto.

      Crie um projeto

      Agora, escolha o tipo de seu projeto. Em nosso exemplo, criaremos um Aplicativo Console.

      Aplicativo de Console

      Dê um nome ao seu projeto e escolha o local onde ele será salvo.

      Nome do projeto

      Finalmente, escolha seu .NET Framework, e clique em "Criar".

      Dot NET Framework

      Após clicar em Criar na última captura de tela, o projeto com o nome "DemoApp" é criado.

  2. Biblioteca IronXL - A biblioteca IronXL deve ser baixada e instalada no projeto Visual Studio. Existem várias maneiras de fazer isso.

    • Usando Visual Studio - Ele oferece o Gerenciador de Pacotes NuGet para instalar o IronXL. Você pode acessá-lo através do menu Ferramentas ou do Explorador de Soluções. As capturas de tela a seguir ajudam a instalar o IronXL. Primeiro, navegue até "Ferramentas" na barra superior, ou clique com o botão direito no seu explorador de soluções.

      Explorador de Soluções

      Ferramentas - Gerenciador de Pacotes NuGet

      Vá para Gerenciar Pacotes NuGet para Solução e procure por IronXL. Então, você só precisa pressionar "Instalar" e a biblioteca IronXL será adicionada ao seu projeto.

      Procurar IronXL

    • Prompt de Comando do Desenvolvedor - Abra o Prompt de Comando do Desenvolvedor, seja a partir do menu Ferramentas do Visual Studio ou da pasta do Visual Studio. Digite o seguinte comando para baixar e instalar o IronXL no seu projeto:

      PM > Install-Package IronXl.Excel
      PM > Install-Package IronXl.Excel
      SHELL
    • Diretamente do Gerenciador de Pacotes NuGet - Navegue até este URL https://www.nuget.org/packages/ironxl.excel/ para baixar IronXL.
  3. Adicionar Namespaces Necessários - Para criar DataTable e usar IronXL, ambos devem ser referenciados no topo do arquivo Program.cs.

    using IronXL; // Add reference to the IronXL library
    using System.Data; // Add reference to System.Data for DataTable
    using IronXL; // Add reference to the IronXL library
    using System.Data; // Add reference to System.Data for DataTable
    $vbLabelText   $csharpLabel

Uma vez que todos os pré-requisitos sejam cumpridos, é hora de exportar dados da DataTable para a planilha do Excel.

Create a DataTable in C#

O código a seguir cria uma nova tabela de dados com dois cabeçalhos de coluna e várias linhas:

// Create a new DataTable object
DataTable dt = new DataTable();
// Add column names to the DataTable
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
// Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars");
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
// Create a new DataTable object
DataTable dt = new DataTable();
// Add column names to the DataTable
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
// Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars");
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
$vbLabelText   $csharpLabel

Primeiro, criamos um novo DataTable chamado "dt". Então, usando Columns.Add, podemos adicionar um número específico de colunas à tabela de dados pelo nome; no nosso exemplo, temos duas colunas chamadas "Animal" e "Som". Em seguida, usamos Rows.Add para adicionar novas linhas, colocando o conteúdo de cada linha dentro dos colchetes. O conteúdo é separado por vírgulas, separando cada string por coluna.

Create Excel File using IronXL in C#

Ao criar tipos de arquivo Excel do zero usando IronXL, é um processo de duas etapas e muito fácil de implementar em C#. IronXL primeiro cria um workbook Excel e depois ajuda a adicionar uma planilha a ele. O exemplo de código a seguir demonstra como criar um workbook junto com a planilha:

// Create a new workbook in XLSX format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Reference to the default worksheet in the workbook
WorkSheet ws = wb.DefaultWorkSheet;
// Create a new workbook in XLSX format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Reference to the default worksheet in the workbook
WorkSheet ws = wb.DefaultWorkSheet;
$vbLabelText   $csharpLabel

Exportar Dados de DataTable para Planilha Excel usando IronXL

Utilizar o IronXL para adicionar valores a uma planilha simplifica todo o processo, sendo capaz de realizar essa tarefa com um código mínimo. Aqui, aprenderemos a exportar dados do DataTable criado na seção anterior para a nova planilha Excel criada. Vamos dar uma olhada no código passo a passo.

Adicionar cabeçalho de coluna à Planilha Excel

// Assign DataTable column names to the first row of the Excel worksheet
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
// Start adding data from the second row
int rowCount = 2;
// Assign DataTable column names to the first row of the Excel worksheet
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
// Start adding data from the second row
int rowCount = 2;
$vbLabelText   $csharpLabel

No código acima, a coluna "A1" da planilha Excel é atribuída ao valor da coluna 1 da DataTable no índice 0 e o próximo valor da coluna Excel "B1" é atribuído a partir da coluna 2 no índice 1 na DataTable. A variável rowCount é definida com o valor 2 para ler linhas da DataTable começando da segunda linha; isso garante que não contemos a linha do cabeçalho.

Adicionar linhas à Planilha Excel

O código a seguir lerá cada linha da DataTable e a atribuirá a uma nova linha no arquivo Excel:

// Iterate through each row in the DataTable and add to Excel worksheet
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
// Iterate through each row in the DataTable and add to Excel worksheet
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
$vbLabelText   $csharpLabel

A variável rowCount é incrementada a cada vez para que uma nova linha seja lida do DataTable para as células da planilha Excel no código acima.

Salvar Arquivo Excel

Finalmente, salve o arquivo Excel usando o método SaveAs().

// Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
// Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
$vbLabelText   $csharpLabel

O arquivo pode ser salvo em outros formatos também, por exemplo, CSV (Valores Separados por Vírgula), JSON, XML.

// Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
// Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
$vbLabelText   $csharpLabel

Você também pode salvá-lo com um delimitador personalizado.

Saída

A saída final do arquivo se parece com isto:

DataTable para Saída Excel

Resumo

Neste artigo, demonstramos como criar um DataTable com colunas e linhas em C#, seguido pela geração de um workbook Excel com uma planilha padrão usando IronXL. Em seguida, exportamos com sucesso os dados tabulares do DataTable para um arquivo Excel e o salvamos no formato .xlsx.

IronXL é uma biblioteca C# fácil de usar que permite aos desenvolvedores trabalhar com arquivos Excel de forma contínua, mesmo sem ter o MS Excel instalado. Ele suporta a exportação de dados de vários formatos, como arquivos CSV, para posterior manipulação e cálculo.

Para saber mais sobre IronXL e seu conjunto robusto de recursos, não deixe de conferir sua extensa documentação. Quer testar por você mesmo? IronXL também oferece uma versão de teste gratuita com acesso total a todos os recursos, para que você possa começar a explorar como esta poderosa biblioteca pode melhorar seus projetos de planilha imediatamente!

Perguntas frequentes

Como posso exportar um DataTable para o Excel rapidamente usando C#?

Você pode usar a biblioteca IronXL .NET Excel para exportar um DataTable para o Excel de forma eficiente. Essa biblioteca permite criar e manipular arquivos do Excel sem a necessidade do Microsoft Office Interop.

Quais ferramentas são necessárias para exportar um DataTable para o Excel em C#?

Para exportar um DataTable para o Excel usando o IronXL, você precisa ter o Visual Studio instalado e a biblioteca IronXL adicionada ao seu projeto através do Gerenciador de Pacotes NuGet.

Como faço para criar um DataTable em uma aplicação C#?

Em C#, você cria um DataTable instanciando um novo objeto DataTable. Em seguida, você pode adicionar colunas usando Columns.Add e preenchê-lo com linhas usando Rows.Add .

Qual é o método para exportar os dados de um DataTable para um arquivo do Excel?

Para exportar dados de uma tabela de dados (DataTable) para um arquivo do Excel, percorra cada linha da tabela e atribua os valores às células correspondentes do Excel usando as funcionalidades do IronXL.

Posso salvar um arquivo do Excel em formatos diferentes usando uma biblioteca .NET?

Sim, com o IronXL, você pode salvar arquivos do Excel em vários formatos, incluindo XLSX, CSV, JSON e XML, e até mesmo especificar delimitadores personalizados.

Preciso do Microsoft Office para gerenciar arquivos do Excel com uma biblioteca C#?

Não, você não precisa ter o Microsoft Office instalado. O IronXL permite gerenciar arquivos do Excel programaticamente, sem depender da interoperabilidade com o Microsoft Office.

Quais são as vantagens de usar uma biblioteca .NET para Excel?

O IronXL oferece inúmeras vantagens, como criar e editar arquivos do Excel, aplicar fórmulas, formatar células e exportar dados em vários formatos. Ele também oferece recursos de segurança, como proteção por senha.

Quais são os passos envolvidos em salvar uma planilha do Excel programaticamente?

Para salvar uma planilha do Excel usando o IronXL, utilize o método SaveAs , selecionando o formato de arquivo desejado, como XLSX, CSV ou JSON.

Existe alguma versão de avaliação gratuita disponível para uma biblioteca .NET do Excel?

Sim, o IronXL oferece um período de teste gratuito que dá acesso completo aos seus recursos, permitindo que os desenvolvedores testem suas funcionalidades antes de investir.

Onde posso encontrar documentação detalhada sobre como usar uma biblioteca .NET do Excel?

A documentação completa do IronXL, incluindo guias e exemplos, pode ser encontrada no site oficial.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me