Como Ler Arquivo CSV em C# e Criar Planilha Excel com IronXL
IronXL fornece uma solução de uma linha para ler arquivo 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.
-
Instale IronXL com o Gerenciador de Pacotes NuGet
PM > Install-Package IronXL.Excel -
Copie e execute este trecho de código.
WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx"); -
Implante para testar em seu ambiente de produção.
Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
- 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
- Specify the CSV path and output name & format
- Execute o projeto para ver o documento
- 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
- Procure por IronXL.Excel
- Instalar
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;
' This namespace is required to access the IronXL functionalities
Imports IronXL
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");
' 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 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);
}
}
Imports System
Imports IronXL
' Example: Reading CSV with custom delimiter and encoding
Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv",
fileFormat:=ExcelFileFormat.XLSX,
listDelimiter:=";", ' Using semicolon as delimiter
encoding:=Encoding.UTF8)
' Access specific cells after loading
Dim cellValue = workbook.DefaultWorkSheet("A1").Value
' Iterate through rows
For Each row In workbook.DefaultWorkSheet.Rows
' Process each row
For Each cell In row
Console.WriteLine(cell.Value)
Next
Next
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 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.
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
}
}
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
Next
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", ";");
' Load CSV and export to multiple formats
Dim workbook As 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", ";")
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");
}
Imports System.IO
Imports System.Web
Imports IronXL
Public Function UploadCSV(file As HttpPostedFileBase) As ActionResult
If file IsNot Nothing AndAlso file.ContentLength > 0 Then
' Save uploaded file temporarily
Dim fileName As String = Path.GetFileName(file.FileName)
Dim path As String = 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 As DataTable = workbook.DefaultWorkSheet.ToDataTable()
' Clean up temporary file
System.IO.File.Delete(path)
Return View(dataTable)
End If
Return RedirectToAction("Index")
End Function
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)";
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
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.

