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

Como ler um arquivo CSV em C#

Este artigo explorará como criar um Leitor de CSV em C# usando a biblioteca IronXL.

IronXL - Biblioteca Excel

IronXL é uma poderosa biblioteca Excel que fornece aos desenvolvedores C# a capacidade de criar, carregar, ler e editar planilhas Excel em vários formatos. Projetado especificamente for .NET, o IronXL prioriza velocidade, precisão e facilidade de uso. Permite salvar arquivos Excel em diferentes formatos e carregar diversos formatos de planilhas no Excel para leitura eficiente de dados.

IronXL suporta formatos de pastas de trabalho Excel com diferentes extensões de arquivos, incluindo CSV e TSV, XLS e XLSX, XSLT e XLSM. É compatível com a versão mais recente do .NET Framework, bem como todas as versões anteriores até 2.0. O IronXL pode ser usado em várias plataformas, incluindo Linux, MacOS, Azure, Docker e AWS.

Como fazer um Leitor de CSV em C# usando IronXL?

Pré-requisitos

Para converter dados de um arquivo CSV para um arquivo Excel e lê-lo em C#, precisamos das seguintes ferramentas:

  1. Visual Studio: é um Ambiente de Desenvolvimento Integrado (IDE) essencial para trabalhar em aplicações C# .NET. É o IDE oficial e recomendado para desenvolver aplicativos C#, e pode ser baixado e instalado a partir do site da Microsoft. No entanto, outros IDEs que suportam um ambiente C# também podem ser usados, se preferido pelo desenvolvedor.
  2. Criar App de Console: Siga os passos para criar uma Aplicação de Console simples.

    • Abra o Visual Studio e clique em 'Criar um Projeto'.

      Como ler arquivo CSV em C#, Figura 2: Janela de Novo Projeto Janela de Novo Projeto

    • Escolha 'App de Console' na lista de opções disponíveis. Certifique-se de que o idioma selecionado seja C#.

      Como ler arquivo CSV em C#, Figura 3: Criar um novo App de Console Criar um novo App de Console

    • Em seguida, dê o nome que quiser ao seu projeto.

      Como ler arquivo CSV em C#, Figura 4: Configuração Configuração

    • O próximo passo na configuração do projeto é selecionar o .NET Framework. A versão mais recente disponível é .NET 7.0, que é suportada no termo padrão. No entanto, para evitar qualquer erro potencial, você pode optar pela versão mais estável do .NET 6.0, já que a Microsoft fornece suporte de longo prazo para ela. É importante escolher a versão adequada com base em seus requisitos específicos.
  3. IronXL - É a biblioteca Excel .NET que foi projetada para trabalhar com planilhas Excel. Deve ser instalada em sua aplicação C# antes de usá-la. Você pode baixar e instalar o pacote de várias fontes:
    1. NuGet - o gerenciador de pacotes for .NET. Você pode baixar diretamente o IronXL do site do NuGet.
    2. Gerenciador de Pacotes NuGet do Visual Studio: Abra o Gerenciador de Pacotes indo para Ferramentas > Gerenciador de Pacotes NuGet > Gerenciar Pacotes para Solução...
    3. _Baixar o arquivo zip .NET Excel DLL diretamente do site do Iron e adicioná-lo à Solução do Projeto como referência de projeto.

Adicionar Namespace IronXL

Uma vez que você tenha os pré-requisitos, o próximo passo é adicionar o namespace IronXL no topo do código fonte no arquivo main.cs:

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

Abrir um Arquivo CSV Existente

O IronXL oferece uma maneira fácil de ler arquivos CSV em C#. Primeiro, abra um arquivo CSV para leitura. É um tipo de arquivo baseado em linhas e colunas. Aqui, a classe WorkBook é usada junto com seu método LoadCSV para abrir um arquivo CSV. O código é o seguinte:

// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
$vbLabelText   $csharpLabel

O método LoadCSV no IronXL permite que você abra um arquivo CSV e o converta para o formato XLSX. Este método fornece opções para especificar o delimitador de lista usado no arquivo CSV. Neste exemplo, o delimitador padrão, que é uma vírgula, é usado. O arquivo resultante é aberto e pode ser processado ainda mais usando os recursos do IronXL para ler e manipular planilhas do Excel.

    ![Como ler arquivo CSV em C#, Figura 5: Arquivo CSV](/static-assets/excel/blog/csharp-csvreader-tutorial/csharp-csvreader-tutorial-4.webp)

Arquivo CSV

Obter Planilha da Classe de Leitura de CSV

Na etapa anterior, o arquivo CSV foi aberto como uma pasta de trabalho do Excel usando o IronXL. Agora, obtenha a planilha padrão do livro de trabalho usando a classe WorkSheet. O exemplo a seguir demonstra como obter a planilha para ler dados CSV:

// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;
$vbLabelText   $csharpLabel

Para mais informações sobre como trabalhar com planilhas do Excel, você pode visitar esta página de exemplos de código.

Ler Dados CSV usando C# DataTable

Uma vez que o CSV é carregado com sucesso e os dados estão disponíveis como uma planilha, os dados podem ser lidos do arquivo CSV muito facilmente em um C# DataTable.

Converter Planilha para DataTable

Primeiro, crie uma instância DataTable e converta os dados da planilha para uma tabela usando o método ToDataTable. O código a seguir ajuda a realizar essa tarefa:

// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);
$vbLabelText   $csharpLabel

Iniciar Leitura de Dados CSV

Agora, percorra todos os registros usando a instância DataTable. Os dados são recebidos em linhas e colunas. Primeiro, percorra cada coluna para obter seu valor. Para obter todos os registros juntamente com a linha de cabeçalho, use o seguinte trecho de código:

// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
    // Iterate over each column in the current row.
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Print each column value in the current row.
        Console.Write(row[i] + "  ");
    }
    // Move to the next line after printing all columns of the current row.
    Console.WriteLine();
}
$vbLabelText   $csharpLabel

No código acima, um loop foreach é usado para obter um único registro de uma coleção de linhas. Em seguida, dentro de um loop for aninhado, o número de colunas é contado e finalmente, os dados de cada linha são impressos na tela. A saída é formatada de forma semelhante a um arquivo CSV.

    ![Como ler arquivo CSV em C#, Figura 6: Saída](/static-assets/excel/blog/csharp-csvreader-tutorial/csharp-csvreader-tutorial-5.webp)

Saída

Resumo

Este artigo demonstrou como criar um leitor de CSV em C# usando a biblioteca IronXL. Carregar arquivos CSV é facilitado com o IronXL, pois ele suporta o formato CSV em planilhas do Excel. O objeto DataTable é usado para criar um leitor de CSV elegante e formatar a saída para corresponder ao arquivo original.

O IronXL também oferece conversão entre diferentes formatos de arquivo e permite criar arquivos do Excel do zero sem a necessidade de Interop e do Microsoft Excel instalados. Ele também é compatível com C# DataSet e DataTable, proporcionando aos desenvolvedores flexibilidade na interconversão de dados sem depender de aplicativos de terceiros. Com seus recursos poderosos, o IronXL é uma ferramenta valiosa para desenvolvedores C# trabalharem com planilhas do Excel e manipularem dados CSV de forma eficiente.

O IronXL é gratuito para desenvolvimento. No entanto, para uso comercial, é necessário adquirir sua licença a partir de $799. Você também pode usar sua versão de teste gratuita para testar a compatibilidade do .dll compilado com seu projeto em modo de produção.

Perguntas frequentes

Como criar um leitor de CSV em C# sem usar Interop?

Você pode criar um leitor de CSV em C# sem usar o Interop, aproveitando a biblioteca IronXL. Primeiro, instale o IronXL via NuGet ou baixe a DLL do Excel for .NET no site do IronXL. Adicione o namespace IronXL ao seu código e use o método WorkBook.LoadCSV para carregar um arquivo CSV, permitindo que você o manipule como uma planilha do Excel.

Quais são os benefícios de usar o IronXL para operações com arquivos CSV em C#?

IronXL oferece uma solução poderosa e flexível para lidar com operações em CSV usando C#. Permite que desenvolvedores carreguem, leiam e convertam arquivos CSV para o formato Excel sem a necessidade do Microsoft Excel ou Interop, tornando-o compatível com diversas plataformas como Linux, macOS e serviços em nuvem como Azure e AWS.

Como converter dados CSV para o formato Excel usando o IronXL?

Para converter dados CSV para o formato Excel usando o IronXL, carregue o arquivo CSV com o método WorkBook.LoadCSV e, em seguida, salve-o usando o método WorkBook.SaveAs , especificando o formato Excel desejado, como XLSX.

É possível ler dados CSV em um DataTable em C# usando o IronXL?

Sim, você pode ler dados CSV em um DataTable em C# usando o IronXL. Carregue o CSV como uma pasta de trabalho, acesse a planilha padrão e use o método Range.ToDataTable para converter os dados da planilha em um DataTable para facilitar a manipulação e iteração.

Quais plataformas são compatíveis com a biblioteca IronXL?

A biblioteca IronXL é compatível com diversas plataformas, incluindo Windows, Linux, MacOS, Azure, Docker e AWS. Essa compatibilidade multiplataforma a torna uma opção versátil para desenvolvedores que trabalham em ambientes variados.

O IronXL pode ser usado em projetos comerciais?

Sim, o IronXL pode ser usado em projetos comerciais. Embora ofereça um período de avaliação gratuito para desenvolvimento e testes, é necessária uma licença comercial para uso em produção. Essa licença dá acesso a todos os recursos e suporte.

Como o IronXL aprimora a manipulação de dados CSV em aplicações C#?

IronXL aprimora a manipulação de dados CSV em aplicações C#, permitindo que desenvolvedores carreguem e editem arquivos CSV sem depender do Microsoft Excel. Ele fornece métodos para conversão entre os formatos CSV e Excel, tornando o gerenciamento de dados mais flexível e eficiente.

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