Read a CSV File in C
IronXL 提供了一种通过 LoadCSV 方法在 C# 中读取 CSV 文件的单行解决方案。 它支持自定义分隔符和直接转换为 Excel 格式,以便在 .NET 应用程序中进行无缝数据处理。
快速入门:使用IronXL一行加载和转换CSV文件
此示例演示如何通过 IronXL 的 LoadCSV 方法读取 CSV 文件,并以最少的代码将其保存为 Excel 工作簿。
最小工作流程(5 个步骤)
- 下载并安装 C# CSV 读取库
- 创建一个 C# 或 VB 项目
- 将此页面上的代码示例添加到您的项目中
- 指定 CSV 路径和输出名称及格式
- 运行项目查看文档
在 .NET 应用程序中读取 CSV 文件
- 安装用于读取 CSV 文件的 C# 库 (IronXL)
- 在 C# 中读取 CSV 文件
- 指定文件格式和分隔符
步骤1
如何安装 IronXL 库?
在 MVC、ASP 或 .NET Core 中使用 IronXL 读取 CSV 文件之前,您需要安装它。 下面是一个快速攻略。
为什么要使用 NuGet 包管理器?
在 Visual Studio 中,选择"项目"菜单
- 管理 NuGet 程序包
- 搜索
IronXL.Excel - 安装
哪些是替代安装方法?
或从 Iron Software 网站下载:https://ironsoftware.com/csharp/excel/packages/IronXL.zip
对于使用 Docker 容器的 .NET 开发人员,IronXL.Excel 可以配置在您的 Docker 环境中。 该库还支持在 Azure Functions 和 AWS Lambda 上部署,用于基于云的 CSV 处理。
如何使用教程
如何以编程方式读取 CSV 文件?
现在开始项目!
我需要导入哪个命名空间?
添加 IronXL 命名空间:
:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-2.cs
// This namespace is required to access the IronXL functionalities
using IronXL;
Imports IronXL
如何加载和转换 CSV 文件?
添加代码,使用 IronXL 和 C# 以编程方式读取 CSV 文件:
: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")
有哪些高级 CSV 阅读选项?
IronXL 提供了处理各种配置的 CSV 文件的功能。 您可以指定不同的分隔符(分号、制表符、管道)并处理不同编码的文件:
:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-4.cs
// 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);
}
}
Imports System
' Example: Reading CSV with custom delimiter
Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=";") ' Using semicolon as delimiter
' 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
CSV 文件在处理前是什么样子?
LoadCSV 方法如何工作?
创建 Workbook 对象。 LoadCSV 方法指定要读取的 CSV 文件、要读取的格式以及分隔符。 在本例中,使用逗号作为分隔符。
创建一个 Worksheet 对象来放置 CSV 内容。 然后以新的名称和格式保存文件。 当您需要在不同的电子表格格式之间进行转换时,这一过程非常有用。
我能否高效处理大型 CSV 文件?
IronXL 对性能进行了优化,可高效处理大型 CSV 文件。 对于处理大量数据集的开发人员,该库在最近的版本中提供了显著的性能改进。 在处理大文件时,请考虑以下最佳实践:
:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-5.cs
// 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
如何将 CSV 数据导出为其他格式?
阅读 CSV 文件后,您可能需要将数据导出为各种格式。 IronXL 支持多种导出选项,包括 XLSX 到 CSV 的转换、JSON、XML 和 HTML。 以下是导出为不同格式的方法:
:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-6.cs
// 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", ";");
Imports IronXL
' Load CSV and export to multiple formats
Dim workbook As WorkBook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ","c)
' 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", ";"c)
如何在 Web 应用程序中处理 CSV 数据?
对于 ASP.NET 开发人员,IronXL.Excel 可为 在 Web 应用程序中读取 CSV 文件提供无缝集成。 您可以在 MVC 或 Web API 项目中上传和处理 CSV 文件:
// 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
如何处理包含复杂数据的 CSV 文件?
在处理包含公式、特殊字符或混合数据类型的 CSV 文件时,IronXL 提供了强大的处理能力。 您可以使用公式和适当格式化单元格数据:
:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-8.cs
// 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)"
库快速访问
常见问题解答
如何用 C# 快速读取 CSV 文件?
IronXL 提供了使用 LoadCSV 方法在 C# 中读取 CSV 文件的单行解决方案。只需使用WorkBook wb = WorkBook.LoadCSV("data.csv",ExcelFileFormat.XLSX,listDelimiter: ",");这将加载 CSV 文件,并允许您使用 wb.SaveAs("output.xlsx") 将其保存为 Excel 工作簿。
CSV 阅读库有哪些安装方法?
您可以通过 Visual Studio 中的 NuGet 包管理器搜索 "IronXL.Excel "安装 IronXL,也可以直接从 Iron Software 网站下载。该库还支持 Docker 容器、Azure Functions 和 AWS Lambda,用于基于云的 CSV 处理。
读取 CSV 文件时可以使用自定义分隔符吗?
是的,IronXL 支持各种分隔符,包括分号、制表符和管道。您可以使用 LoadCSV 方法中的 listDelimiter 参数指定分隔符,例如WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ";").
为实现 CSV 阅读功能,我需要导入哪个命名空间?
您需要在 C# 文件顶部添加 "using IronXL;",以访问 IronXL 读取和处理 CSV 文件的所有功能。
加载 CSV 文件后,如何访问特定的单元格值?
using IronXL 的 LoadCSV 方法加载 CSV 文件后,您可以使用以下方法访问特定单元格: var cellValue = workbook.DefaultWorkSheet["A1"].Value; 这样您就可以从加载的 CSV 中检索和操作单个单元格数据。
读取 CSV 文件时,库是否支持不同的文件编码?
是的,IronXL 支持包括 UTF8 在内的各种编码。您可以在加载 CSV 文件时指定编码参数:WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, encoding: Encoding.UTF8)。
我可以直接将 CSV 文件转换为 Excel 格式吗?
是的,IronXL 允许将 CSV 直接转换为 Excel 格式。使用 LoadCSV 加载 CSV 文件后,您可以立即使用 SaveAs 方法将其保存为 Excel 文件,并指定 XLSX 或 XLS 等格式。

