Como ler arquivos CSV em C# usando o IronXL

Read a CSV File in C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL fornece uma solução de uma linha para ler arquivos CSV em C# usando o método LoadCSV. Suporta delimitadores personalizados e conversão direta para formatos Excel para processamento de dados sem interrupções em aplicações .NET.

Início Rápido: Carregar e converter um arquivo CSV usando IronXL em uma linha

Este exemplo mostra como ler um arquivo CSV usando o método LoadCSV do IronXL e salvá-lo como uma planilha Excel com código mínimo.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie e execute este trecho de código.

    WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita

    arrow pointer
## Lendo Arquivos CSV em Aplicações .NET
  • Instale uma biblioteca C# para Leitura de Arquivos CSV (IronXL)
  • Leia arquivos CSV em C#
  • Especifique o formato de arquivo e delimitador
How To Work related to Read a CSV File in C#

Passo 1

Como Instalo a Biblioteca IronXL?

Antes de usar IronXL para ler arquivos CSV em MVC, ASP ou .NET Core, você precisa instalá-lo. Aqui está um guia rápido.

Por Que Devo Usar o Gerenciador de Pacotes NuGet?

  • No Visual Studio, selecione o menu Projeto
  • Gerenciar Pacotes NuGet
  • Procure por IronXl.Excel
  • Instalar
Gerenciador de Pacotes NuGet do Visual Studio instalando a biblioteca IronXl.Excel com detalhes do pacote e saída do console
Figura 1 - Pacote NuGet IronXl.Excel

Quais são os métodos alternativos de instalação?

Or download from the Iron Software website: https://ironsoftware.com/csharp/excel/packages/IronXL.zip

For .NET developers working with Docker containers, IronXL can be configured in your Docker environment. The library also supports deployment on Azure Functions and AWS Lambda for cloud-based CSV processing.


Tutorial de Como Fazer

Como Ler Arquivos CSV Programaticamente?

Agora para o projeto!

Qual Namespace Preciso Importar?

Adicione o namespace IronXL:

// This namespace is required to access the IronXL functionalities
using IronXL;
// This namespace is required to access the IronXL functionalities
using IronXL;
$vbLabelText   $csharpLabel

Como Carregar e Converter Arquivos CSV?

Adicione código para ler um arquivo CSV programaticamente com IronXL e C#:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-read.cs
// Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter
WorkBook workbook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ",");

// Access the default worksheet within the loaded workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file with a specified name
workbook.SaveAs("Csv_To_Excel.xlsx");
$vbLabelText   $csharpLabel

Quais Opções Avançadas de Leitura de CSV Estão Disponíveis?

O IronXL fornece recursos para lidar com arquivos CSV em várias configurações. Você pode especificar diferentes delimitadores (ponto e vírgula, tabulações, pipes) e lidar com arquivos com diferentes codificações:

// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// Access specific cells after loading
var cellValue = workbook.DefaultWorkSheet["A1"].Value;

// Iterate through rows
foreach (var row in workbook.DefaultWorkSheet.Rows)
{
    // Process each row
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// Access specific cells after loading
var cellValue = workbook.DefaultWorkSheet["A1"].Value;

// Iterate through rows
foreach (var row in workbook.DefaultWorkSheet.Rows)
{
    // Process each row
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
$vbLabelText   $csharpLabel

Como o Arquivo CSV Se Parece Antes do Processamento?

Arquivo CSV no Bloco de Notas mostrando dados de animais com colunas de Mês, Girafas, Elefantes, Rinocerontes e dados populacionais de 6 meses
Figura 2 - Um arquivo CSV aberto no Bloco de Notas

Como Funciona o Método LoadCSV?

Um objeto Workbook é criado. O método LoadCSV do objeto Workbook especifica o arquivo CSV a ser lido, o formato para lê-lo e o delimitador. Neste caso, uma vírgula é usada como separador.

É criado um objeto Worksheet onde o conteúdo do CSV é colocado. O arquivo é então salvo com um novo nome e formato. This process is useful when you need to convert between different spreadsheet formats.

Planilha Excel mostrando dados CSV com colunas de Mês, Girafas, Elefantes e Rinocerontes com dados de contagem de animais de 6 meses
Figura 3 - O arquivo CSV aberto no Excel

Posso Processar Arquivos CSV Grandes de Forma Eficiente?

O IronXL é otimizado para desempenho e lida com arquivos CSV grandes de maneira eficiente. For developers working with substantial datasets, the library offers significant performance improvements in recent versions. Ao processar arquivos grandes, considere estas práticas recomendadas:

// Reading large CSV files with memory optimization
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ",");

// Process data in chunks
var worksheet = workbook.DefaultWorkSheet;
int rowCount = worksheet.RowCount;
int batchSize = 1000;

for (int i = 0; i < rowCount; i += batchSize)
{
    // Process rows in batches
    var endIndex = Math.Min(i + batchSize, rowCount);
    for (int j = i; j < endIndex; j++)
    {
        var row = worksheet.GetRow(j);
        // Process individual row
    }
}
// Reading large CSV files with memory optimization
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ",");

// Process data in chunks
var worksheet = workbook.DefaultWorkSheet;
int rowCount = worksheet.RowCount;
int batchSize = 1000;

for (int i = 0; i < rowCount; i += batchSize)
{
    // Process rows in batches
    var endIndex = Math.Min(i + batchSize, rowCount);
    for (int j = i; j < endIndex; j++)
    {
        var row = worksheet.GetRow(j);
        // Process individual row
    }
}
$vbLabelText   $csharpLabel

Como Posso Exportar Dados CSV para Outros Formatos?

Após ler arquivos CSV, você pode precisar exportar os dados para vários formatos. IronXL supports multiple export options including XLSX to CSV conversion, JSON, XML, and HTML. Veja como exportar para diferentes formatos:

// Load CSV and export to multiple formats
WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",");

// Export to different formats
workbook.SaveAs("output.xlsx"); // Excel format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format

// Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";");
// Load CSV and export to multiple formats
WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",");

// Export to different formats
workbook.SaveAs("output.xlsx"); // Excel format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format

// Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";");
$vbLabelText   $csharpLabel

E Quanto ao Trabalho com Dados CSV em Aplicações Web?

For ASP.NET developers, IronXL provides seamless integration for reading CSV files in web applications. Você pode enviar e processar arquivos CSV em seus projetos MVC ou Web API:

// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
$vbLabelText   $csharpLabel

Como Devo Lidar com Arquivos CSV com Dados Complexos?

Ao trabalhar com arquivos CSV contendo fórmulas, caracteres especiais ou tipos de dados misturados, o IronXL fornece capacidades de manipulação robustas. You can work with formulas and format cell data appropriately:

// Handle CSV with special requirements
WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", 
    ExcelFileFormat.XLSX, 
    listDelimiter: ",");

var worksheet = workbook.DefaultWorkSheet;

// Apply formatting to cells
worksheet["A1:A10"].Style.Font.Bold = true;
worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format

// Add formulas after loading CSV data
worksheet["D1"].Formula = "=SUM(B1:B10)";
// Handle CSV with special requirements
WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", 
    ExcelFileFormat.XLSX, 
    listDelimiter: ",");

var worksheet = workbook.DefaultWorkSheet;

// Apply formatting to cells
worksheet["A1:A10"].Style.Font.Bold = true;
worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format

// Add formulas after loading CSV data
worksheet["D1"].Formula = "=SUM(B1:B10)";
$vbLabelText   $csharpLabel

Acesso rápido à biblioteca

### Documentação de Referência da API IronXL

Saiba mais e compartilhe como mesclar, desmesclar e trabalhar com células em planilhas do Excel usando a prática Documentação de Referência da API IronXL.

Documentação de Referência da API IronXL
Documentation related to Como Devo Lidar com Arquivos CSV com Dados Complexos?

Perguntas frequentes

Como faço para ler arquivos CSV em C# rapidamente?

IronXL oferece uma solução simples para ler arquivos CSV em C# usando o método LoadCSV. Basta usar: WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); Isso carrega seu arquivo CSV e permite salvá-lo como uma planilha do Excel com wb.SaveAs("output.xlsx").

Quais métodos de instalação estão disponíveis para a biblioteca de leitura de CSV?

Você pode instalar o IronXL através do Gerenciador de Pacotes NuGet no Visual Studio, pesquisando por 'IronXl.Excel', ou baixá-lo diretamente do site da Iron Software. A biblioteca também oferece suporte a contêineres Docker, Azure Functions e AWS Lambda para processamento de CSV baseado em nuvem.

Posso usar delimitadores personalizados ao ler arquivos CSV?

Sim, o IronXL suporta vários delimitadores, incluindo ponto e vírgula, tabulação e barra vertical. Você pode especificar o delimitador usando o parâmetro listDelimiter no método LoadCSV, por exemplo: WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ";").

Que namespace preciso importar para que a funcionalidade de leitura de CSV funcione?

Você precisa adicionar 'using IronXL;' no início do seu arquivo C# para acessar todas as funcionalidades do IronXL para leitura e processamento de arquivos CSV.

Como posso acessar valores de células específicas após carregar um arquivo CSV?

Após carregar um arquivo CSV com o método LoadCSV do IronXL, você pode acessar células específicas usando: var cellValue = workbook.DefaultWorkSheet["A1"].Value; Isso permite recuperar e manipular dados de células individuais do seu arquivo CSV carregado.

A biblioteca suporta diferentes codificações de arquivo ao ler arquivos CSV?

Sim, o IronXL suporta várias codificações, incluindo UTF-8. Você pode especificar o parâmetro de codificação ao carregar arquivos CSV: WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, encoding: Encoding.UTF8).

Posso converter arquivos CSV diretamente para o formato Excel?

Sim, o IronXL permite a conversão direta de arquivos CSV para o formato Excel. Após carregar um arquivo CSV com o LoadCSV, você pode salvá-lo imediatamente como um arquivo Excel usando o método SaveAs, especificando formatos como XLSX ou XLS.

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 ...

Leia mais

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Pronto para começar?
Nuget Downloads 1,890,100 | Versão: 2026.3 acaba de ser lançado

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXl.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.