Ir para o conteúdo do rodapé
USANDO O IRONXL
Como converter uma tabela de dados em um arquivo do Excel

Converter tabela de dados para Excel em C# (Tutorial com exemplo de código)

Pode ser difícil alterar programaticamente uma planilha do Excel, por duas razões principais. Primeiro, ao lidar com planilhas, os usuários devem manter uma interface consistente e estrutura de documento, o que nem sempre é simples. Segundo, nem sempre é claro qual código funcionará em situações específicas, particularmente quando cálculos sofisticados estão envolvidos. Há inúmeras razões pelas quais criar programaticamente um arquivo Excel é difícil. Os programadores devem primeiro transformar os dados no documento Excel em um formato legível, depois analisar os dados e analisá-los de volta, o que é ainda mais difícil. Eu tenho uma solução para este problema. Vou ensinar como fazer um arquivo Excel e exportar programaticamente um DataTable para uma planilha Excel sem nenhum problema usando a biblioteca IronXL .NET Excel. Vamos começar:

Recursos do IronXL

  • IronXL é executado em uma variedade de Sistemas Operacionais, incluindo Windows, Linux e macOS.
  • Quase todos os Frameworks .NET são suportados pelo IronXL, incluindo Console, Aplicação Windows Forms e Aplicação Web.
  • IronXL torna a leitura de arquivos Excel direta e fácil.
  • Podemos carregar, editar, exportar DataTables, exportar conjuntos de dados e ler formatos de arquivos Excel como arquivos XLSX, XLS, CSV, TSV, XLST, XLSM e mais com IronXL.
  • IronXL nos permite salvar e exportar arquivos com uma variedade de extensões, incluindo XLS, CSV, TSV, JSON, XLSX e outros.
  • Fórmulas Excel podem ser criadas pelo IronXL.
  • Textos, Números, Fórmulas, Datas, Moeda, Percentagens e outros formatos de dados de células Excel são suportados pelo IronXL.
  • Também oferece várias opções de ordenação como Intervalo, Colunas e Linhas, entre outras.
  • A formatação de células no IronXL inclui fonte, tamanho, padrão de fundo, borda e alinhamento, entre outros.
  • Podemos ler e exportar dados de um arquivo Excel usando IronXL.
  • IronXL não requer que o Excel ou Interop estejam instalados no seu servidor. A API do IronXL é mais rápida e fácil de usar do que o Microsoft Office, Interop e Excel.

1 Criando um Novo Projeto no Visual Studio

Para usar a biblioteca IronXL, devemos criar um projeto .NET no Visual Studio. Você pode usar qualquer versão do Visual Studio, mas a versão mais recente é recomendada. Você pode criar uma aplicação como Windows Forms ou diferentes modelos de projeto, dependendo de suas necessidades. Vou usar a Aplicação de Console para este tutorial, para simplicidade.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 1: Criar uma nova interface de projeto no Visual Studio Criar uma nova interface de projeto no Visual Studio

Em seguida, insira o nome do projeto e o local do projeto.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 2: Etapa de configuração na criação de um novo projeto Etapa de configuração na criação de um novo projeto

Em seguida, selecione o framework abaixo. Neste projeto, vamos usar o .NET Core 6.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 3: Interface de seleção do .Net Framework UI de seleção do .Net Framework

Uma vez que a aplicação cria a solução, ela abrirá o arquivo program.cs onde você pode inserir o código e compilar/executar a aplicação.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 4: Arquivo program.cs vazio no novo projeto Arquivo program.cs vazio no novo projeto

Em seguida, podemos adicionar a biblioteca para testar o código.

2 Instalar a Biblioteca IronXL

A Biblioteca IronXL pode ser baixada e instalada de quatro maneiras.

Estes são:

  • Usando o Visual Studio
  • Usando a Linha de Comando do Visual Studio.
  • Download direto do site NuGet .
  • Download direto do site da IronXL.

2.1 Usando Visual Studio

Podemos instalar a biblioteca IronXL usando o Gerenciador de Pacotes NuGet. Você deve primeiro abrir o Gerenciador de Pacotes NuGet e, em seguida, procurar por IronXL na aba de navegação. Selecione IronXL nos resultados de busca e instale. Depois disso, nosso projeto estará pronto para usar a biblioteca IronXL.

A captura de tela abaixo mostra como podemos abrir o Gerenciador de Pacotes NuGet no Visual Studio.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 5: Navegue até o Gerenciador de Pacotes NuGet no Visual Studio Navegar até o Gerenciador de Pacotes NuGet no Visual Studio

IronXL nos resultados da pesquisa:

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 6: Pesquisar pela biblioteca IronXL Buscar pela biblioteca IronXL

2.2 Usando a Linha de Comando do Visual Studio

Muitas pessoas gostam de usar um Console para realizar operações. Então, podemos instalá-lo pelo Console também. Siga os passos abaixo para instalar o IronXL via linha de comando.

  • No Visual Studio, vá para Ferramentas -> Gerenciador de Pacotes NuGet -> Console do Gerenciador de Pacotes.
  • Insira a seguinte linha na aba do Console do Gerenciador de Pacotes:
Install-Package IronXl.Excel

Agora o pacote será baixado/instalado no projeto atual e estará pronto para uso.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 7: Instalar o pacote IronXL via Console Instalar pacote IronXL via Console

2.3 Download direto do site do NuGet

A terceira maneira é baixar o pacote NuGet diretamente do site.

  • Navegue até a página oficial do pacote IronXL no NuGet.
  • Selecione a opção de pacote de download no menu à direita.
  • Clique duas vezes no pacote baixado. Será instalado automaticamente. Em seguida, recarregue a solução e comece a usá-la no projeto.

2.4 Download direto do site da IronXL

Clique no link para baixar o pacote mais recente diretamente do site. Uma vez baixado, siga os passos abaixo para adicionar o pacote ao projeto.

  • Clique com o botão direito do mouse no projeto na janela de soluções.
  • Em seguida, selecione as opções de referência e procure o local da referência baixada.
  • Depois, clique em ok para adicionar a referência.

3 Exportar Datatable para Arquivo Excel usando IronXL

IronXL nos permite exportar DataTables para arquivos Excel facilmente com um número limitado de passos.

Primeiro, precisamos incluir o namespace do IronXL como na captura de código abaixo. Uma vez adicionado, podemos usar as classes e métodos do IronXL em nosso código.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 8: Incluir namespace do IronXL antes de usar a biblioteca Incluir namespace do IronXL antes de usar a biblioteca

IronXL nos permite criar arquivos Excel e convertê-los em objetos de pasta de trabalho. Após convertê-los em objetos, podemos realizar vários tipos de operações. No exemplo de código abaixo, vamos converter um DataTable em uma planilha Excel, e então podemos criar um arquivo Excel.

using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
$vbLabelText   $csharpLabel

No código acima, estamos exportando o DataTable para um arquivo Excel. Primeiro, estamos criando um DataTable, e então estamos criando cabeçalhos de coluna. Após criar as colunas, adicionamos as linhas uma a uma. Uma vez que as linhas são adicionadas, criamos o objeto WorkBook. Usando o objeto, podemos adicionar os dados à planilha Excel, e então podemos salvar os dados na localização. Estamos criando o objeto WorkSheet que permite criar uma planilha, e então podemos adicioná-la ao objeto WorkBook.

Estamos usando um loop foreach para ler os valores do DataTable um por um e então adicionamos o valor à planilha. Uma vez que todos os valores são adicionados à planilha, então os salvamos em um arquivo CSV usando o método chamado SaveAsCsv — precisamos passar o delimitador e nome do arquivo com localização como parâmetro. Um delimitador é um parâmetro opcional que podemos ignorar se não for necessário.

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 9: O código completo no Visual Studio O código completo no Visual Studio

Acima está a captura completa de tela do código que estamos usando no .NET Core 6.

Resultado:

Como Exportar Grandes Dados de Datatable para Excel em C#, Figura 10: O resultado ao abrir o arquivo no Microsoft Excel O resultado ao abrir o arquivo no Microsoft Excel

Acima está o resultado do exemplo de código executado. Na captura de tela, todos os dados disponíveis no DataTable foram adicionados à nova planilha do Excel criada um por um.

4 Conclusão

IronXL é uma das bibliotecas de Excel mais comumente usadas. Não depende de nenhuma outra biblioteca de terceiros. É independente e não precisa do MS Excel instalado. Funciona em várias plataformas. O preço inicial para o IronXL começa em $799. Além disso, oferece a opção de uma taxa anual para suporte ao produto e atualizações. IronXL oferece cobertura de redistribuição livre de royalties a um custo extra. Para saber mais sobre os detalhes de preços, visite nossa página de licenciamento.

Perguntas frequentes

Como posso exportar um DataTable para um arquivo Excel em C#?

Você pode usar as classes WorkBook e WorkSheet do IronXL para exportar um DataTable para um arquivo Excel. Crie um DataTable, itere por suas linhas e preencha o arquivo Excel com dados usando a API do IronXL.

Quais são as vantagens de usar o IronXL em vez do Interop para operações com o Excel?

O IronXL é mais rápido e eficiente que o Microsoft Interop, não requer a instalação do Microsoft Excel e suporta múltiplas plataformas e formatos de arquivo.

Quais formatos de arquivo o IronXL suporta para arquivos do Excel?

O IronXL suporta vários formatos de arquivo do Excel, incluindo XLSX, XLS, CSV, TSV, XLST e XLSM, permitindo uma manipulação versátil dos arquivos.

O IronXL consegue lidar com fórmulas do Excel ao exportar dados?

Sim, o IronXL consegue lidar com fórmulas do Excel, garantindo que cálculos complexos sejam preservados ao exportar dados de uma tabela de dados para um arquivo do Excel.

Quais sistemas operacionais são compatíveis com o IronXL?

O IronXL é compatível com diversos sistemas operacionais, incluindo Windows, Linux e macOS, permitindo o desenvolvimento multiplataforma.

É necessário ter o Microsoft Excel instalado para usar o IronXL?

Não, o IronXL funciona independentemente do Microsoft Excel, permitindo que você trabalhe com arquivos do Excel sem precisar ter o Excel instalado no seu servidor.

Como posso instalar o IronXL para uso em um projeto C#?

Você pode instalar o IronXL através do Gerenciador de Pacotes NuGet no Visual Studio, usando a linha de comando ou baixando-o diretamente dos sites do NuGet ou do IronXL.

Quais frameworks .NET são suportados pelo IronXL?

O IronXL oferece suporte a uma ampla gama de frameworks .NET, incluindo Console, Aplicativos Windows Forms e Aplicativos Web, tornando-o versátil para diferentes tipos de projetos.

O IronXL suporta a estilização e formatação de células em arquivos do Excel?

Sim, o IronXL oferece diversas opções de estilo e formatação de células, como definir estilos de fonte, cores e bordas, para melhorar a aparência dos arquivos do Excel.

Como o IronXL simplifica o processo de criação programática de arquivos do Excel?

O IronXL simplifica o processo ao fornecer uma API fácil de usar para criar, modificar e exportar arquivos do Excel sem as complexidades de manutenção de interfaces e estruturas exigidas por outros métodos.

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