Read a CSV File in C#
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.
Este exemplo mostra como ler um arquivo CSV usando o método LoadCSV do IronXL e salvá-lo como um workbook Excel com código mínimo.
-
1Install IronXL with NuGet Package Manager
-
2Copie e execute este trecho de código.
WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx");C# -
3Implante para testar em seu ambiente de produção.
Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe e instale a biblioteca de leitura CSV para C#
- Crie um projeto C# ou VB
- Adicione o exemplo de código desta página ao seu projeto
- Especifique o caminho do CSV e o nome e formato de saída
- Execute o projeto para ver o documento
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
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
- Pesquisar por
IronXL.Excel - Instalar
Quais são os métodos alternativos de instalação?
Ou descarregue do site da Iron Software: https://ironsoftware.com/csharp/excel/packages/IronXL.zip
Para desenvolvedores .NET que trabalham com containers Docker, IronXL pode ser configurado em seu ambiente Docker. A biblioteca também suporta implantação em Azure Functions e AWS Lambda para processamento de CSV em nuvem.
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;Imports IronXLComo Carregar e Converter Arquivos CSV?
Adicione código para ler um arquivo CSV programaticamente com IronXL e C#:
// 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");' Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter
Dim workbook As WorkBook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",")
' Access the default worksheet within the loaded workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file with a specified name
workbook.SaveAs("Csv_To_Excel.xlsx")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
WorkBook workbook = WorkBook.LoadCSV("data.csv",
fileFormat: ExcelFileFormat.XLSX,
listDelimiter: ";"); // Using semicolon as delimiter
// 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);
}
}
Como o Arquivo CSV Se Parece Antes do Processamento?
Como Funciona o Método LoadCSV?
Um objeto Workbook é criado. O método LoadCSV do objeto Workbook especifica o arquivo CSV para ler, o formato para ler e o delimitador. Neste caso, uma vírgula é usada como separador.
Um objeto Worksheet é criado onde os conteúdos CSV são colocados. O arquivo é então salvo com um novo nome e formato. Este processo é útil quando você precisa converter entre diferentes formatos de planilhas.
Posso Processar Arquivos CSV Grandes de Forma Eficiente?
O IronXL é otimizado para desempenho e lida com arquivos CSV grandes de maneira eficiente. Para desenvolvedores trabalhando com grandes conjuntos de dados, a biblioteca oferece melhorias significativas de desempenho em versões recentes. 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
}
}Imports System
Imports IronXL
' Reading large CSV files with memory optimization
Dim workbook As WorkBook = WorkBook.LoadCSV("large_dataset.csv",
fileFormat:=ExcelFileFormat.XLSX,
listDelimiter:=",")
' Process data in chunks
Dim worksheet = workbook.DefaultWorkSheet
Dim rowCount As Integer = worksheet.RowCount
Dim batchSize As Integer = 1000
For i As Integer = 0 To rowCount - 1 Step batchSize
' Process rows in batches
Dim endIndex As Integer = Math.Min(i + batchSize, rowCount)
For j As Integer = i To endIndex - 1
Dim row = worksheet.GetRow(j)
' Process individual row
Next
NextComo Posso Exportar Dados CSV para Outros Formatos?
Após ler arquivos CSV, você pode precisar exportar os dados para vários formatos. O IronXL suporta múltiplas opções de exportação incluindo conversão de XLSX para CSV, JSON, XML e 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.SaveAsCsv("output_custom.csv", ";");
E Quanto ao Trabalho com Dados CSV em Aplicações Web?
Para desenvolvedores ASP.NET, o IronXL oferece integração perfeita para ler arquivos CSV em aplicações web. 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 Function UploadCSV(file As HttpPostedFileBase) As ActionResult
If file IsNot Nothing AndAlso file.ContentLength > 0 Then
' Save uploaded file temporarily
Dim fileName = Path.GetFileName(file.FileName)
Dim path = Path.Combine(Server.MapPath("~/App_Data/"), fileName)
file.SaveAs(path)
' Load and process CSV
Dim workbook As WorkBook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",")
' Convert to DataTable for easy display
Dim dataTable = workbook.DefaultWorkSheet.ToDataTable()
' Clean up temporary file
System.IO.File.Delete(path)
Return View(dataTable)
End If
Return RedirectToAction("Index")
End FunctionComo 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. Você pode trabalhar com fórmulas e formatar dados das células apropriadamente:
// 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)";Imports IronXL
' Handle CSV with special requirements
Dim workbook As WorkBook = WorkBook.LoadCSV("complex_data.csv", ExcelFileFormat.XLSX, listDelimiter:=",")
Dim 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)"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 IronXLPerguntas 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.
Can I install IronXL via NuGet in Visual Studio?
Yes, you can install IronXL using the NuGet Package Manager in Visual Studio by searching for `IronXL.Excel` and adding it to your project.
What namespace do I need to import to use IronXL functionalities in my C# project?
To access IronXL functionalities, you need to import the `IronXL` namespace into your C# project.
What types of projects can benefit from using IronXL for CSV file processing?
IronXL is beneficial for .NET applications, including MVC, ASP, and .NET Core projects, where seamless CSV reading and conversion are required.

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.


