IRONSOFTWAREHOME
USANDO O IRONXL

Como converter um arquivo CSV em uma lista em C#

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

Neste tutorial para iniciantes, vamos ver como ler arquivos CSV em uma lista em C# usando a biblioteca IronXL. Bem, esta é uma das coisas mais básicas que você precisa saber em qualquer linguagem de programação, já que os arquivos CSV são uma maneira muito comum de armazenar dados e transferi-los de um sistema ou aplicativo para outro. Vamos abordar tudo, desde configurar seu projeto até analisar arquivos CSV de forma eficaz.

How to Convert CSV File into List in C#

  1. Crie um Projeto de Console C# no Visual Studio.
  2. Instale a Biblioteca CSV para C# usando o Gerenciador de Pacotes NuGet.
  3. Carregue o arquivo CSV usando o método WorkBook.LoadCSV.
  4. Leia os valores de dados do arquivo e preencha a lista.
  5. Imprima a lista no console.

Configurando Seu Projeto

Etapa 1: Criando um Novo Projeto C#

  1. Abra o Visual Studio: Inicie o Visual Studio no seu computador.
  2. Crie um Novo Projeto: Clique em "Criar um novo projeto". Isso abre uma janela onde você pode selecionar o tipo de projeto.
  3. Selecione o Tipo de Projeto: Escolha "Aplicativo de Console (.NET Core)" como seu tipo de projeto por simplicidade.
  4. Nomeie Seu Projeto: Nomeie seu projeto CSVFileReader.
  5. Escolha a Localização: Selecione uma localização adequada em seu dispositivo para salvar este projeto.
  6. Gere o Projeto: Clique em "Criar" para inicializar seu novo projeto C#.

Etapa 2: Instalando a Biblioteca IronXL

  1. Abra o Gerenciador de Pacotes NuGet: No Visual Studio, vá para o menu "Ferramentas", em seguida, selecione "Gerenciador de Pacotes NuGet" e escolha "Gerenciar Pacotes NuGet para Solução...".

  2. Procure por IronXL: Clique na aba "Procurar" e busque por "IronXL.Excel".

    Como Converter Arquivo CSV em Lista em C#: Figura 1 - IronXL

  3. Instale IronXL: Encontre o pacote IronXL nos resultados de pesquisa, selecione-o e clique em "Instalar." Certifique-se de concordar com os termos de licença e revise as alterações.

  4. Verifique a Instalação: Após a instalação, você deve ver o IronXL referenciado nos referenciais do seu projeto.

Agora, seu projeto CSVFileReader está configurado com a biblioteca IronXL, e você está pronto para começar a ler e processar arquivos CSV em C#. Esta configuração forma a base para as tarefas de leitura de CSV que iremos realizar nas seções subsequentes deste tutorial.

Parsing and Processing CSV Files in C#

Com o projeto configurado e a biblioteca IronXL instalada, vamos nos concentrar em analisar e processar arquivos CSV. Trabalharemos dentro do arquivo Program.cs, que é gerado automaticamente em seu projeto CSVFileReader.

Etapa 1: Especificando o Caminho do Arquivo

Antes de podermos ler qualquer dado, precisamos saber onde nosso arquivo CSV está localizado. Defina uma variável no método Main para armazenar o caminho do arquivo.

string filename = "csvfile.csv"; // Replace with your actual file path

Etapa 2: Carregar o Arquivo CSV

IronXL torna simples o carregamento de um arquivo CSV. Use o método WorkBook.LoadCSV para ler o arquivo CSV em um objeto WorkBook.

var csv = WorkBook.LoadCSV(filename);

Etapa 3: Definindo uma Estrutura de Dados

Crie uma classe que represente a estrutura de dados no seu arquivo CSV. Por exemplo, se seu CSV contiver informações sobre pessoas, defina uma classe Person assim:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

Etapa 4: Analisando os Dados do CSV

Nesta etapa, iremos analisar o arquivo CSV e preencher um List<Person> com os dados. Estamos usando o IronXL para lidar com a leitura do CSV, e a chave é processar corretamente cada linha ou linha do CSV, levando em conta os cabeçalhos e quaisquer linhas vazias em potencial. Aqui está uma descrição detalhada do código:

List<Person> people = new List<Person>();
bool isFirstRow = true; // Add a flag to check for the first row
foreach (var row in csv.WorkSheets[0].Rows)
{
    if (isFirstRow)
    {
        isFirstRow = false; // Set the flag to false after skipping the first row
        continue;
    }
    if (row.IsEmpty) continue; // Skip empty rows
    var cells = row.ToArray();
    var person = new Person()
    {
        Name = cells[0].StringValue,
        Age = int.Parse(cells[1].StringValue) // Ensure this is a numeric value
    };
    people.Add(person);
}

Neste processo de análise, primeiro inicializamos um List<Person> para armazenar os dados analisados e usamos uma bandeira booleana isFirstRow para pular a linha de cabeçalho do arquivo CSV. O loop foreach itera por cada linha do arquivo CSV. Durante a primeira iteração, a linha de cabeçalho é identificada e pulada, garantindo que apenas as linhas de dados sejam processadas. Em seguida, verificamos cada linha para garantir que não esteja vazia usando row.IsEmpty. Esta etapa é crítica para evitar erros de análise com linhas vazias.

Para cada linha de dados, convertemos a linha em um array de células (row.ToArray()) e, em seguida, criamos um objeto Person com esses dados. É crucial analisar e converter corretamente os tipos de dados, como converter a string 'Idade' para um inteiro. O objeto Person analisado é então adicionado à nossa lista people. Esta abordagem garante que apenas linhas de dados válidas sejam processadas e armazenadas, lidando efetivamente com problemas potenciais como strings não numéricas em colunas numéricas ou linhas inesperadamente vazias.

Etapa 5: Exibindo os Dados

Após analisar os dados do CSV em nosso List<Person>, a próxima etapa importante é exibir e verificar os dados. Isso não só ajuda a garantir que nossa análise foi bem-sucedida, mas também nos permite observar a saída e realizar uma verificação rápida de qualidade dos dados. Veja como você pode implementar isso:

foreach (var person in people)
{
    Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}

Aqui está o código completo do Program.cs:

using IronXL;
using System;
using System.Collections.Generic;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main(string[] args)
{
    string filename = @"C:\Users\tayya\Downloads\sample_data.csv"; // Replace with your actual file path
    var csv = WorkBook.LoadCSV(filename);
    List<Person> people = new List<Person>();
    bool isFirstRow = true; // Add a flag to check for the first row
    foreach (var row in csv.WorkSheets[0].Rows)
    {
        if (isFirstRow)
        {
            isFirstRow = false; // Set the flag to false after skipping the first row
            continue;
        }
        if (row.IsEmpty) continue; // Skip empty rows
        var cells = row.ToArray();
        var person = new Person()
        {
            Name = cells[0].StringValue,
            Age = int.Parse(cells[1].StringValue) // Ensure this is a numeric value
        };
        people.Add(person);
    }
    foreach (var person in people)
    {
        Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
    }
}

Saída do Código

Quando você executar o arquivo, ele exibirá os dados da lista no console:

Como Converter Arquivo CSV em Lista em C#: Figura 2 - Saída da Lista

Manipulando Diferentes Tipos de Dados

Ao manipular vários tipos de dados em um arquivo CSV, é importante adaptar a lógica de análise ao tipo específico de cada coluna de dados. No exemplo de classe Person, enquanto o Name é uma string e pode ser atribuído diretamente usando StringValue, campos numéricos como Age requerem conversão de string para inteiro usando Int32.Parse ou Convert.ToInt32. Isso é essencial para evitar erros de incompatibilidade de tipo.

Para tipos de dados mais complexos, como datas, use DateTime.Parse para converter representações de string de datas em objetos DateTime. É importante estar ciente do formato de data usado em seu arquivo CSV e garantir que ele corresponde ao formato esperado em seu código. Formatos de data inconsistentes podem levar a erros de análise ou interpretação incorreta dos dados.

Conclusão

Você acabou de aprender como ler, analisar e exibir os dados de um arquivo CSV usando IronXL em C#. Essa abordagem pode ser empregada em diferentes tipos de estruturas de dados e formatos de arquivo. Assim, isso representa uma habilidade geral útil para qualquer desenvolvedor por aí que escolha C# como sua principal linguagem.

IronXL oferece uma avaliação gratuita para os usuários experimentarem seus recursos. Uma vez que o período de teste termine, o licenciamento para IronXL começa a partir de um preço inicial de $999.

Lembre-se de que exceções e casos de borda devem ser tratados para escrever um código mais robusto, especialmente ao gerenciar diferentes tipos de dados e usar arquivos grandes. Continue experimentando e explorando mais recursos do IronXL para melhorar o processamento de seus dados em C#. Boa programação!

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.