使用IRONXL

如何在C#中读取CSV文件

更新 2024年三月24日
分享:

本文将探讨如何使用 IronXL 库创建 C# CSV 阅读器。

IronXL - Excel 库

IronXL 是一个功能强大的 Excel 库,可为 C# 开发人员提供创建、加载、读取和编辑各种格式 Excel 电子表格的能力。IronXL 专为 .NET 设计,以速度、准确性和易用性为优先考虑。它允许 保存 Excel 文件 不同格式和 加载各种电子表格格式 将其导入 Excel,以便高效读取数据。

IronXL 支持不同文件扩展名的 Excel 工作簿格式,包括 CSV 和 TSV、XLS 和 XLSX、XSLT 和 XLSM。它与最新版本的 .NET Framework 以及 2.0 之前的所有版本兼容。IronXL 可用于各种平台,包括 Linux、MacOS、Azure、Docker 和 AWS。

如何在 C&num 中使用 IronXL 制作 CSV 阅读器?

先决条件

要将 CSV 文件中的数据转换为 Excel 文件并在 C# 中读取,我们需要以下工具:

  1. 视觉工作室: 是一个重要的集成开发环境 (IDE) 用于开发 C# .NET 应用程序。它是开发 C# 应用程序的官方推荐集成开发环境,可从以下网址下载并安装 微软网站.不过,如果开发人员喜欢,也可以使用其他支持 C# 环境的集成开发环境。

  2. 创建控制台应用程序: 按照以下步骤创建一个简单的控制台应用程序。

    • 打开 Visual Studio,点击 "创建项目"。

      如何在 C# 中读取 CSV 文件,图 2:新建项目窗口

      新项目窗口

    • 从可用选项列表中选择 "控制台应用程序"。确保所选语言为 C#。

      如何在 C# 中读取 CSV 文件,图 3:创建一个新的控制台应用程序

      创建一个新的控制台应用程序

    • 接下来,为你的项目取一个你想要的名字。

      如何在 C# 中读取 CSV 文件,图 4:配置

      配置

    • 项目配置的下一步是选择 .NET 框架。现有的最新版本是 .NET 7.0,在标准期限内支持该版本。不过,为了避免可能出现的错误,您可以选择更稳定的 .NET 6.0 版本,因为微软为其提供了长期支持。重要的是要根据自己的具体要求选择合适的版本。
  3. IronXL - 它是专门用于 Excel 电子表格的 .NET Excel 库。使用前必须在 C# 应用程序中安装。您可以从多个来源下载并安装该软件包:

    1.NuGet - .NET 的软件包管理器。您可以直接从 NuGet 网站.

    2.Visual Studio NuGet 包管理器_:进入工具 > NuGet 软件包管理器 > 管理解决方案的软件包...**,打开软件包管理器。

    3.下载 IronXL .NET Excel DLL 直接从 Iron 网站下载 zip 文件,并将其添加到 "项目解决方案 "中作为项目参考。

添加 IronXL 命名空间

具备前提条件后,下一步就是在 main.cs 文件的源代码顶部添加 IronXL 命名空间:

using IronXL;
using IronXL;
Imports IronXL
VB   C#

打开现有 CSV 文件

IronXL 提供了一种简便的方法来 读取 CSV 文件 在 C# 中。首先,打开一个 CSV 文件进行读取。这是一种基于行和列的文件类型。这里的 工作簿 类与其 加载CSV 方法打开 CSV 文件。代码如下

var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
VB   C#

IronXL 中的 LoadCSV 方法允许打开 CSV 文件并将其转换为 XLSX 格式。该方法提供了指定 CSV 文件中使用的列表分隔符的选项。在本例中,使用的是默认的逗号分隔符。打开后的文件可使用 IronXL 读取和处理 Excel 电子表格的功能进行进一步处理。

如何在 C# 中读取 CSV 文件,图 5:CSV 文件

CSV 文件

从 CSV 阅读器类获取工作表

在上一步中,使用 IronXL 将 CSV 文件作为 Excel 工作簿打开。现在,使用 工作表 类。下面的示例演示了如何获取读取 CSV 数据的工作表:

WorkSheet ws = workbook.DefaultWorkSheet;
WorkSheet ws = workbook.DefaultWorkSheet;
Dim ws As WorkSheet = workbook.DefaultWorkSheet
VB   C#

有关使用 Excel 工作表的更多信息,请访问此处 代码示例页面.

使用 C# DataTable 读取 CSV 数据

一旦 CSV 加载成功,数据作为工作表可用,就可以在 C# DataTable 中非常容易地从 CSV 文件中读取数据。

将工作表转换为数据表

首先,创建一个 DataTable 实例,然后使用 ToDataTable 方法。下面的代码有助于实现这一任务:

DataTable dt = ws.ToDataTable(true);
DataTable dt = ws.ToDataTable(true);
Dim dt As DataTable = ws.ToDataTable(True)
VB   C#

开始读取 CSV 数据

现在,使用 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] + "  "); //format output 
    }
    Console.WriteLine();
}
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] + "  "); //format output 
    }
    Console.WriteLine();
}
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) & "  ") 'format output
	Next i
	Console.WriteLine()
Next row
VB   C#

在上述代码中,"foreach "循环用于从行集合中获取单条记录。然后在嵌套的 for 循环中计算列数,最后将每一行的数据打印到屏幕上。输出的格式与 CSV 文件类似。

如何在 C# 中读取 CSV 文件,图 6:输出

输出

摘要

本文演示了如何使用 IronXL 库在 C# 中创建 CSV 阅读器。IronXL 支持 Excel 电子表格中的 CSV 格式,因此加载 CSV 文件变得非常容易。DataTable 对象用于创建优雅的 CSV 阅读器,并将输出格式化以匹配原始文件。

IronXL 还提供方便的 不同文件格式之间的转换 并允许从头开始创建 Excel 文件,而无需安装 Interop 和 Microsoft Excel。它还兼容 C# DataSetDataTable,为开发人员提供了相互转换数据的灵活性,而无需依赖第三方应用程序。IronXL 功能强大,是 C# 开发人员处理 Excel 电子表格和高效处理 CSV 数据的重要工具。

IronXL 可免费用于开发。但是,如果要用于商业用途,则需要购买其 许可证 从 $749 开始。您还可以使用其 免费试用 以测试其编译后的 .dll 与您的项目在生产模式下的兼容性。

< 前一页
如何在C#中将数据集转换为Excel
下一步 >
如何在C#中从Excel文件获取单元格值

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

免费NuGet下载 总下载量: 988,189 查看许可证 >