IRONSOFTWAREHOME
USANDO O IRONXL

Como importar um arquivo CSV para um DataTable em C#

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Bem-vindo a este tutorial para iniciantes sobre como importar arquivos CSV (valores separados por vírgula) em um DataTable em C# usando IronXL. Este guia lhe fornecerá uma abordagem fácil de seguir, garantindo que, mesmo que você seja novo em C#, você achará esse processo simples. Cobriremos cada passo, desde a configuração do ambiente até a escrita do código-fonte. Até o final deste tutorial, você terá uma compreensão clara de como converter dados CSV em um DataTable, gerenciar colunas do DataTable e lidar com vários aspectos dos documentos CSV em C# usando um leitor de arquivos e IronXL.

Pré-requisitos

Antes de começarmos, assegure-se de ter:

  • Conhecimento básico de C#
  • Visual Studio instalado em sua máquina local
  • A biblioteca IronXL, que pode ser obtida através do Gerenciador de Pacotes NuGet

Entendendo o básico

O que é um Arquivo CSV?

Um arquivo CSV (Comma Separated Values file) é um tipo de arquivo de texto simples que usa uma estrutura específica para organizar dados tabulares. É um formato comum para troca de dados, pois CSV é simples, compacto e funciona com várias plataformas. Em um arquivo CSV, os dados são separados por vírgulas, e cada nova linha significa uma nova linha, com os cabeçalhos das colunas geralmente presentes na primeira linha.

Understanding DataTables in C#

Um DataTable faz parte da biblioteca ADO.NET em C# e representa uma única tabela de dados em memória. É composto por linhas e colunas, e cada coluna pode ser de um tipo de dado diferente. DataTables são altamente flexíveis e podem representar dados em um formato estruturado, tornando-os ideais para o manuseio de dados de arquivos CSV.

Configurando Seu Projeto

Passo 1: Criar um Novo Projeto C#

  1. Abra o Visual Studio.
  2. Selecione Arquivo > Novo > Projeto .
  3. Escolha um aplicativo C# Console ou Windows Forms e nomeie-o adequadamente.

Passo 2: Instalar IronXL

IronXL é uma biblioteca poderosa que permite trabalhar com arquivos Excel e CSV em C#. Para usá-lo, é necessário instalá-lo via Gerenciador de Pacotes NuGet. No Visual Studio:

  1. Vá para Ferramentas > Gerenciador de Pacotes NuGet > Gerenciar Pacotes NuGet para a Solução.

  2. Procure por IronXL.Excel.

    Como Importar CSV Para Datatable em C#: Figura 1 - IronXL

  3. Instale o pacote no seu projeto.

Lendo Arquivos CSV em DataTables com IronXL

Passo 1: Configure Seu Ambiente

using IronXL;
using System.Data;

Essas declarações using incluem os namespaces necessários para a nossa tarefa.

Passo 2: Crie um Método para Importar CSV

Defina uma classe, CsvToDataTable, com um método estático ImportCsvToDataTable. Este método será responsável por converter o arquivo CSV em um DataTable.

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Code snippet to import CSV will be placed here
        return null; // Placeholder return statement
    }
}

Passo 3: Carregue o Arquivo CSV

Dentro do método ImportCsvToDataTable, comece carregando o arquivo CSV. O IronXL fornece uma maneira simples de fazer isso:

// Load the CSV file
WorkBook workbook = WorkBook.LoadCSV(filePath);

WorkBook.LoadCSV é um método no IronXL para carregar arquivos CSV. Aqui, filePath é o caminho do seu arquivo CSV.

Passo 4: Converter CSV para DataTable

Converta os dados carregados do CSV em um DataTable. Este passo é crucial, pois transforma os dados em um formato que pode ser facilmente manipulado e exibido em um aplicativo C#.

// Get the first worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
// Convert CSV worksheet to DataTable
DataTable dataTable = sheet.ToDataTable();
return dataTable;

Este trecho converte os dados do CSV em um DataTable. DefaultWorkSheet busca a primeira planilha do workbook, equivalente a todos os dados do CSV no caso de um arquivo CSV. O método ToDataTable é um recurso poderoso do IronXL que mapeia eficientemente os dados CSV para uma estrutura DataTable, incluindo uma linha de cabeçalho de coluna se presente na primeira linha do arquivo CSV.

Passo 5: Utilize o Método em Seu Aplicativo

Agora, use o método ImportCsvToDataTable em seu aplicativo. Por exemplo, você pode querer chamar este método quando o aplicativo iniciar ou quando o usuário fizer upload de um arquivo CSV.

// Usage
string csvFilePath = "csvfile.csv";
DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(csvFilePath);

Este trecho de código demonstra como chamar o método ImportCsvToDataTable. Substitua "csvfile.csv" pelo caminho real do seu arquivo CSV.

Passo 6: Trabalhando com o DataTable de Saída

Uma vez que você tenha o DataTable, pode realizar várias operações como exibir os dados em uma interface de usuário, filtrar, ou processar os dados. Aqui estão alguns exemplos:

Exibindo Dados em um Aplicativo de Console

foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item} ");
    }
    Console.WriteLine();
}

Este código itera através de cada linha e coluna no DataTable e imprime os dados no console.

Filtrando Dados

Você pode usar LINQ para filtrar dados no DataTable. Por exemplo, se você quiser selecionar linhas onde uma coluna específica atende a uma condição:

var filteredRows = dataTable.AsEnumerable()
                            .Where(row => row.Field<string>("ColumnName") == "SomeValue");

Substitua "ColumnName" e "SomeValue" pelo nome da coluna e o valor que você está filtrando.

Snippet de Código Completo

Aqui está o código fonte completo que você pode usar em seu projeto:

using IronXL;
using System;
using System.Data;
using System.IO;

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Check if the file exists
        if (!File.Exists(filePath))
        {
            throw new FileNotFoundException($"The file at {filePath} was not found.");
        }

        // Load the CSV file
        WorkBook workbook = WorkBook.LoadCSV(filePath);
        // Get the first worksheet
        WorkSheet sheet = workbook.DefaultWorkSheet;
        // Convert the worksheet to DataTable
        DataTable dataTable = sheet.ToDataTable();
        return dataTable;
    }
}

class Program
{
    static void Main(string[] args)
    {
        // Usage
        try
        {
            string filePath = "sample_data.csv"; // CSV file path
            DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(filePath);
            foreach (DataRow row in dataTable.Rows)
            {
                foreach (var item in row.ItemArray)
                {
                    Console.Write($"{item} ");
                }
                Console.WriteLine();
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

Você pode usar este código no arquivo Program.cs. Não se esqueça de adicionar a licença do IronXL se você estiver trabalhando no ambiente de produção.

Saída do Código

Uma vez que você executa o código, ele carregará o arquivo CSV e importará seus dados para o DataTable. Depois disso, ele mostrará o conteúdo das colunas do DataTable no console. Isso ajuda a verificar se os dados foram importados corretamente para o DataTable.

Como Importar CSV Para Datatable em C#: Figura 2 - Saída

Tratando Diferentes Cenários

Em cenários do mundo real, os arquivos CSV podem variar significativamente em formato e estrutura. É importante lidar com essas variações para garantir que seu aplicativo seja robusto e versátil. Vamos expandir sobre como gerenciar diferentes cenários ao importar dados CSV para um DataTable usando IronXL.

Tratando um Delimitador Diferente

Vírgulas são o delimitador padrão em arquivos CSV. No entanto, arquivos CSV podem não usar sempre vírgulas para separar valores. Às vezes, ponto e vírgula, tabulação ou outros caracteres são usados como delimitadores. Para lidar com isso no IronXL:

Especificando um Delimitador Personalizado: Antes de carregar o arquivo CSV, você pode especificar o delimitador do seu arquivo. Por exemplo, se o seu arquivo usa ponto e vírgula (;), você pode configurá-lo assim:

WorkBook workbook = WorkBook.LoadCSV(filePath, listDelimiter: ";");

Lidando com Arquivos CSV Grandes

Ao lidar com arquivos CSV grandes, é importante considerar o uso de memória e o desempenho. IronXL fornece maneiras eficientes de lidar com arquivos grandes sem carregar o arquivo inteiro na memória de uma vez. Você pode ler o arquivo em partes ou utilizar APIs de streaming fornecidas pelo IronXL para gerenciar o uso de memória de forma eficaz.

Conclusão

Importar dados CSV em um DataTable usando IronXL em C# é direto. Isso aprimora as capacidades de manipulação de dados do seu aplicativo, permitindo que você lide com arquivos CSV de forma eficiente. Com os passos destacados neste tutorial, iniciantes podem facilmente integrar essa funcionalidade em seus projetos C#.

IronXL oferece um teste gratuito para usuários explorarem seus recursos. Para aqueles que buscam funcionalidades mais avançadas e suporte, opções de licenciamento estão disponíveis.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.