使用IRONXL

使用 C# 读取 CSV 文件(代码示例教程)

更新 2024年一月29日
分享:

本教程演示了如何使用 IronXL C# 库读取 CSV 文件,而无需安装额外的互操作程序,并且效率高、效果好。

如何在 C# 中读取 CSV 文件;

在 MVC、ASP.NET 或 .NET Core 中使用 IronXL 读取 CSV 文件之前,您必须先安装 IronXL。 以下是翻译流程的基本介绍。

在 Visual Studio 中选择项目菜单,管理 NuGet 软件包,搜索 IronXL.Excel,然后安装。

使用 C# 阅读 CSV 文件(代码示例教程),图 1:在 NuGet 软件包管理器中安装 IronXL 软件包

在 NuGet 软件包管理器中安装 IronXL 软件包

IronXL 是一款非常实用的工具,当您需要读取 CSV 文件在C#中。 下面的代码示例表明,您可以使用逗号或其他分隔符读取 CSV 文件。

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
VB   C#

使用 C# 阅读 CSV 文件(代码示例教程),图 2:本教程使用的 CSV 数据

本教程的CSV 数据**

翻译对象工作簿已创建。 工作簿 "对象的加载CSV翻译过程中,首先要使用".NET "方法,然后使用 "CSV "方法来指明 CSV 文件的名称、格式以及所读取的 CSV 文件中使用的分隔符,这些分隔符以字符串数组的形式存储。 在这种情况下,逗号被用作分隔符。

之后,需要工作表创建对象; 这是 CSV 文件内容的存储位置。 然后对文件进行重命名,并以新格式存储。 然后将 CSV 文件数据以表格形式排列在工作表中。 译文将是这样的

使用 C# 读取 CSV 文件(代码示例教程),图 3:数据转换为 Excel 文件

数据转换为 Excel 文件

C# 中的 CSV 解析;.NET

CSV 在字段中如何处理换行符以及字段如何用引号括起来等方面存在一些问题,这使得简单的字符串拆分技术无法使用 Split("'"). IronXL 提供了使用 LoadCSV 方法中的可选参数自定义分隔符的功能,请查看 IronXL 的 API 文档。加载CSV了解更多详情。

C# Records - 读取 CSV 数据

在下面的示例中,"foreach "用于循环查看 CSV 文件中的行,Console 用于将数据写入记录。

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  ");
    }
    Console.WriteLine();
}
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
Dim dt As DataTable = ws.ToDataTable(True) 'parse sheet1 of sample.xlsx file into datatable
For Each row As DataRow In dt.Rows 'access rows
	For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
		Console.Write(row (i) & "  ")
	Next i
	Console.WriteLine()
Next row
VB   C#

使用 C# 读取 CSV 文件(代码示例教程),图 4:从 CSV 文件访问数据并显示到控制台

从 CSV 文件获取数据并显示到控制台

将 CSV 文件字符串行转换为 Excel 格式

翻译过程简单明了:加载 CSV 文件并保存为 Excel 文件。

WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet

workbook.SaveAs("CsvToExcelConversion.xlsx")
VB   C#

使用 IronXL 阅读和操作转换后的 CSV 文件

IronXL WorkBook 类表示 Excel 工作表,使用该类可在 C# 中打开 Excel 文件。 下面的代码示例将把所需的 Excel 文件加载到 WorkBook 对象中:

//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
VB   C#

在许多 WorkBook 中都可以找到 WorkSheet 对象。 这些是 Excel 文档的工作表。 如果工作簿中有工作表,您可以通过以下操作获取工作表的名称:

//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
VB   C#

读取单元格值的代码:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

加载并读取工作簿和工作表后,以下代码示例可更新公式或应用于特定单元格。 以下是代码:

// Set Formulas
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
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
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()
VB   C#

结论和 IronXL 特别优惠

IronXL 将 CSV 转换为 Excel 只需两行代码,此外还可以用 C# 进行 CSV 处理。

无需 Interop,使用 IronXL.Excel API 可谓轻而易举。 此外,IronXL.Excel 还提供了与 Excel WorkBook、WorkSheet 和 Cells 层交互的多种功能,如流行格式之间的转换, 单元格数据格式化, 合并单元格, 插入数学函数甚至管理图表和添加图像.

您可以通过以下方式无水印发布IronXL 试用版许可密钥.

许可证起价为 $749,包括一年的免费支持和更新。

IronPDF、IronXL、IronOCR、IronBarcode 和 IronWebscraper 都是 IronPDF 的一部分。Iron 软件套件. Iron Software 允许您以优惠的价格购买他们的整个软件包。您只需花两个工具的价格就能使用所有这些工具。

这绝对是一个值得探索的选择。

< 前一页
如何在C#中使用CSV解析器
下一步 >
C# 程序化打开 Excel 文件(代码示例教程)

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 1,111,773 查看许可证 >