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

Como ler um arquivo CSV usando C# (tutorial com exemplo de código)

Este tutorial demonstra como ler um arquivo CSV usando a biblioteca IronXL C# sem instalar interop adicional, de maneira altamente eficiente e eficaz.

How to read CSV Files in C#

Você deve primeiro instalar o IronXL antes de usá-lo para ler arquivos CSV em MVC, ASP.NET ou .NET Core. Aqui está um resumo básico do processo.

Selecione o menu Project no Visual Studio, Gerenciar Pacotes do NuGet, Pesquise por IronXl.Excel e Instale.

Leia o arquivo CSV usando C# (Exemplo de Tutorial de Código), Figura 1: Instale o pacote IronXL no Gerenciador de Pacotes NuGet Instale o pacote IronXL no Gerenciador de Pacotes NuGet

IronXL é uma ótima ferramenta a ser usada quando você precisa ler arquivos CSV em C#. O exemplo de código abaixo mostra que você pode ler um arquivo CSV usando vírgulas ou outro delimitador.

// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

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

Leia o arquivo CSV usando C# (Exemplo de Tutorial de Código), Figura 2: Dados CSV para este tutorial Dados CSV para este tutorial

O objeto WorkBook é criado. O método LoadCSV do objeto WorkBook é então usado para indicar o nome do arquivo CSV, seu formato e os delimitadores usados no arquivo CSV que está sendo lido, que são armazenados como um array de strings. Vírgulas são utilizadas como delimitadores neste cenário.

Depois disso, um objeto WorkSheet é criado; é aqui que o conteúdo do arquivo CSV será armazenado. O arquivo é então renomeado e armazenado em um novo formato. Os dados do arquivo CSV são então dispostos na planilha em forma de tabela. A saída ficará algo assim:

Leia o arquivo CSV usando C# (Exemplo de Tutorial de Código), Figura 3: Dados convertidos em arquivo Excel Dados convertidos em arquivo Excel

CSV parsing in C# .NET

Os CSVs têm vários problemas com a forma como as quebras de linha são tratadas nos campos e como os campos podem estar entre aspas, o que impede que uma técnica simples de divisão de strings funcione Split("'"). Em vez disso, o IronXL oferece personalizar o delimitador usando um parâmetro opcional do método LoadCSV, verifique a documentação da API de LoadCSV para mais detalhes.

C# Records — Reading CSV Data

No exemplo abaixo, o loop foreach é usado para iterar sobre as linhas no arquivo CSV, e o Console é usado para escrever os dados em um registro.

// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header

// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
    // Iterate through each column in the current row
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Output each cell value to the console
        Console.Write(row[i] + "  ");
    }
    // New line after each row
    Console.WriteLine();
}
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header

// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
    // Iterate through each column in the current row
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Output each cell value to the console
        Console.Write(row[i] + "  ");
    }
    // New line after each row
    Console.WriteLine();
}
$vbLabelText   $csharpLabel

Leia o arquivo CSV usando C# (Exemplo de Tutorial de Código), Figura 4: Acessando dados do arquivo CSV e exibindo no Console Acessando dados do arquivo CSV e exibindo no Console

Convertendo uma linha de string de arquivo CSV para formato Excel

O procedimento é simples: carregue um arquivo CSV e salve como um arquivo Excel.

// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
$vbLabelText   $csharpLabel

Ler e Manipular Arquivos CSV Convertidos usando IronXL

A classe IronXL WorkBook representa uma planilha do Excel e usa esta classe para abrir um arquivo Excel em C#. Os exemplos de código abaixo irão carregar o arquivo Excel desejado em um objeto WorkBook:

// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
$vbLabelText   $csharpLabel

Objetos WorkSheet podem ser encontrados em diversos WorkBooks. Estas são as planilhas do documento Excel. Se o workbook tiver planilhas, você pode obtê-las pelo nome fazendo o seguinte:

// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
$vbLabelText   $csharpLabel

Código para leitura dos valores das células:

// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
$vbLabelText   $csharpLabel

O exemplo de código a seguir pode atualizar fórmulas ou aplicá-las a células específicas após carregar e ler o workbook e a planilha. O seguinte é o código:

// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
$vbLabelText   $csharpLabel

Conclusão e Oferta Especial IronXL

IronXL transforma CSVs em Excel com apenas duas linhas de código, além de processar CSVs em C#.

Sem a necessidade de Interop, usar a API Excel da IronXL é muito fácil. Além disso, IronXL também oferece uma ampla gama de recursos para interagir com níveis de WorkBook, WorkSheet e Células do Excel, como converter entre formatos populares, formatar dados de células, mesclar células, inserir funções matemáticas, e até mesmo gerenciar gráficos e adicionar imagens.

Você pode lançar sem uma marca d'água usando chaves de licença de teste do IronXL.

As licenças começam em $799 e incluem um ano de suporte e atualizações gratuitos.

IronPDF, IronXL, IronOCR, IronBarcode, e o IronWebscraper fazem parte do pacote Iron Software. Iron Software permite que você compre todo o pacote por um preço reduzido. Você pode usar todas essas ferramentas pelo preço de duas.

Esta é definitivamente uma opção que vale a pena explorar.

Perguntas frequentes

Como posso ler um arquivo CSV em C#?

É possível ler um arquivo CSV em C# usando a biblioteca IronXL, empregando o método LoadCSV , que permite carregar os dados CSV em um objeto WorkBook para manipulação posterior.

Qual a melhor maneira de converter dados CSV para o formato Excel em C#?

A melhor maneira de converter dados CSV para o formato Excel em C# é usando o IronXL. Carregue seu arquivo CSV em um objeto WorkBook e use o método SaveAs para salvá-lo como um arquivo Excel.

Como posso manipular arquivos CSV com delimitadores personalizados em C# usando uma biblioteca?

Com o IronXL, você pode manipular arquivos CSV com delimitadores personalizados, especificando o delimitador como um parâmetro opcional no método LoadCSV .

Posso converter dados CSV diretamente para um formato de banco de dados em C#?

Sim, você pode converter dados CSV para um formato de banco de dados em C# usando o IronXL, utilizando o método ToDataTable , que transforma os dados em um objeto DataTable adequado para operações de banco de dados.

Quais métodos estão disponíveis em C# para verificar a existência de arquivos CSV inexistentes?

Em C#, você pode usar o método Exists do IronXL para verificar se um arquivo CSV existe antes de tentar carregá-lo, evitando assim erros relacionados a arquivos inexistentes.

Como posso manipular dados do Excel após convertê-los de CSV em C#?

Após converter o arquivo CSV para Excel em C#, você pode manipular os dados usando os recursos do IronXL, como formatação, mesclagem de células, inserção de funções matemáticas e adição de gráficos ou imagens.

Quais as vantagens que o IronXL oferece para leitura e conversão de arquivos CSV em C#?

O IronXL oferece vantagens como fácil instalação, dispensa de interoperabilidade adicional, suporte para delimitadores personalizados e métodos poderosos para converter e manipular dados CSV no Excel.

Como lidar com caracteres especiais em dados CSV em C#?

O IronXL consegue lidar com caracteres especiais em dados CSV, permitindo que você especifique a codificação e os delimitadores do arquivo ao carregá-lo, garantindo a integridade e a precisão dos dados.

Que tipo de suporte está disponível para usuários do IronXL?

As licenças do IronXL incluem um ano de suporte e atualizações gratuitas, oferecendo assistência e garantindo que você tenha os recursos e correções mais recentes.

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