使用IRONXL

如何在C#中读取CSV文件

更新 2024年三月24日
分享:

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

IronXL.Excel 库

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

IronXL.Excel 支持不同文件扩展名的 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. Visual Studio: 是必不可少的集成开发环境(IDE)适用于 C# .NET 应用程序。 它是开发 C# 应用程序的官方推荐集成开发环境,可从以下网址下载并安装微软网站. 不过,如果开发人员喜欢,也可以使用其他支持 C# 环境的集成开发环境。

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

    • 打开 Visual Studio 并单击 "创建项目"。

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

      新项目窗口

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

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

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

    • 接下来,请随心所欲地为您的项目命名。

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

      配置

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

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

    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 的读取和处理 Excel 电子表格的功能进行进一步处理。

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

CSV 文件

从 CSV 阅读器类中获取工作表

在上一步中,使用 IronXL.Excel 将 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 支持 Excel 电子表格中的 CSV 格式,因此加载 CSV 文件变得非常容易。 数据表 "对象用于创建优雅的 CSV 阅读器,并将输出格式化以匹配原始文件。

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

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

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

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

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